Allow JedisPool to set a custom client name

First and foremost, please excuse the funky formatting.  I tried to match style as best I could, but the source mixes tabs and spaces, so kind of hard.

Moving on, this PR allows you to specify a client name when configuring a JedisPool.

You can see the new usage in the accompanying test.

I only set the client name when we first make the object, and not when we activate it since it seems like there is not a valid use case for a loanee of a client to set the client name directly just for that one usage (unlike .select() which does have use cases).

I also think it would be interesting at some point to expose JedisPool creation through a Builder object, since half of those classes (JedisPool, Pool, and JedisFactory) are constructor defs.

Thanks again for the great project, it's been rock solid for us!