Refactor commands out of client.go, the road to command completion

Hi,

I've been interested in this project because I previously played with go's crypto/ssh lib

I wanted to add command completion without hard coding anything so I moved commands definition in a map in a new file. For now this allow to generate the /help message and remove some duplicated lines for arguments length validation.

There still missing stuff :

- add Exit method on Client type (this commit currently doesn't allow the client to exit... :) )
- move commands that weren't in the help message, like uptime
- actually implement command completion, it's now simpler

Just wanted to give a heads up before going further.