Fixes to how port configuration is done (for trafgens and tunnels,
and now sshdport). First off, take the DB out of the loop. There is no reason to do DB locking since local nodes are not shared, and even if they were, we now allocate port ranges to each experiment when it uses virtual nodes (which is the only way to share a node anyway), so there is never a case that port allocation between experiments has to be coordinated. The only locking that is done is when the range is allocated to the experiment, buts that done only once, and only if the experiment uses virtual nodes (local or remote). Also, now that its easy to create lots of jails on a single node, its a good idea to give each one their own ssh port. This is recorded in the DB nodes table (sshdport) and returned in the jail config from tmcd.