Git message protocol

1) Adds a message protocol to send messages to Nacl from js.
2) Moves the git clone command into class which can be extended

@rginda 
If you change "cmd" to "name" and change "args" to "arg" then you'll be on the way to compatibility with wam, which may pay off in the future (we could share a js library).