Make password/db index optional & possible to use timeout when use Jedis / JedisPool with URI

fixes #653 and #654

* no need to provide password / DB index when user uses URI
* can provide timeout when user users URI

@xetorthio @marcosnils Please review! Thanks!
Here's a format of the redis2go uri: redis://redistogo:44ec0bc04dd4a5afe77a649acee7a8f3@drum.redistogo.com:9092/  A DB is not being passed to this URI, so this method will return null. What do you think about returning 0 (the default redis db) instead of null when the DB is not passed?