Expose static method to allow for thread-safe use of Client.

Add a static Client::initialize method which lets the user trigger
static initialization. This handles a thread-safety issue where
multiple threads using Client simultaneously when it hasn't been
initialized yet could result in both seeding the random number
generator with the same current time and getting the same nonce. Also
add some notes to the documentation about this issue, and a comment on
thread-safety in general.

This could have also been solved by adding some additional data to the
nonce, e.g. the address of the Client object. That type of approach
seems more error prone (could still result in collisions depending on
how the address was mixed into the nonce), and this approach could be
reused if any other thread safety issues pop up.