Ensure that set returns true or false

Based on if the response from the server was that the message was stored or
not.
Ensure we aren't sharing sockets across processes

Adds a check to see if the pid that connected to kestrel is the same as the
current pid.
Initial support of socket timeouts
Implement timeouts for all socket operations
Simplify timeout mechanism

Removes deadlines for timers and instead assumes that if we're receiving any
new data, the connection is active.
Ensure we convert :wait_for to seconds
Remove extra instance variables we didn't need
Use length
Ensure we are using nonblocking operations
add gemspec to gitignore
Update tests to use kestrel 2.4.1
Fix downloading of kestrel project.
Do not blow up if kestrel is not installed.

The first time tests are run, kestrel may not be
installed. Make sure we do not blow up so that
a developer may be able to run rake:develop to 
create the build environment.
Extract out the setting of code coverage gem.
Update dependencies, include json
Merge branch 'bugfix/dev-env-updates'

Closes #5
Allow the test kestrel's server ports to be set.

* Set nonstandard defaults
* Allow overrides with environment variables.

Closes #10
Merge branch 'bugfix/issue-change-kestrel-test-port'
Update Contributing and History with changes
Wrap all connection exceptions in KJess::Client::Error

This makes it simpler to see if there are any connectivity-related issues or
if the problem is somewhere else.