Modified random Node selection

There is now a random function that can be called on all the nodes in the
simulation, or you can pass the function a NodeContainer and have nodes
selected from there.

Seems to work. The final push will be tomorrow.

Cheers.