unit test for you, and expansion of code

Here you go.  While writing the tests it became apparent that select() needed a failure message, otherwise set() would die with a "can't use undefined as a hash ref".  

And while looking at the infrastructure it became obvious that $class->new(num_databases=> 21) was a valid use case, so I added that too.

Cheers!