split up long method
Don't load commands in the client

Load commands in the server process instead. The client communicates
with the server to determine whether a command is available or not.

This means that the config/spring.rb can load commands which reside in
gems, without adversely affecting the startup time of the spring client.

Closes #79.