Implement syncthing-cli

Ready for the first round of reviews.

A few issues/notes:

1. I am on Windows, so cygwin sort of refuses to run build.sh, so not sure if I've done all I had to do in regards to packaging (plus I still cannot comprehend how godep works)
2. There is still no way to enable the GUI once it has been disabled. (or reset the password/api key)
3. Some behavior might not be as expected by everyone:
  * Adding an already existing node to a repository throws an error
  * Remove a node that doesn't exist from a repository throws an error

  You might say that it should just assume success by default, but I am not sure about that.
4. Some functions perhaps need more love, as they do the HTTP call first (to get the config for example), and only then do argument validation (which means that we did the HTTP call pointlessly). But I don't really see a good way around it apart from code duplication, or customizing the CLI library code even more.
Hmm, not sure how though.

Do you suggest to define named functions in the separate `cmd_*.go` files, and then build this huge CLI struct in main.go, just utilizing the named functions from the other files?