Commands Refactor Part 2

We split #196 in two parts. this is the second. (#262 is the first). This builds on all the changes to commands/.
> The flags library is meant to error out immediately in only a cli. When some of these things are running in long-lived daemons exposed to all sorts of inputs...

Right, I'm not arguing against making the code daemon-safe, I'm just saying we don't need to do the type safety-check twice (both in the library and the calling code). The command package, which is providing the option values in the first place, is already doing the type-checking: https://github.com/jbenet/go-ipfs/blob/master/commands/request.go#L132-L133