(SERVER-246) Add :borrow-timeout config option

Add :borrow-timeout configuration option, which allows the user
to configure the timeout when borrowing instances from the JRuby
pool and defaults to 60000 milliseconds. Change all calls to
the borrow-from-pool function to calls to
borrow-from-pool-with-timeout.
+1

I generally think it's frowned upon to throw an NPE - makes it a bit hard, at first glance, to distinguish errors from our code vs. something that the JVM throws automatically.  Although, admittedly, there's plenty of spots where they do this in the JDK - but it's pretty unconventional for any other code.  `IllegalStateException` is probably a reasonable choice here.