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/.
It's preferable to unpack arguments in one loop and then loop again to process. 
```
var readers

for _, arg := range arguments {
  readers = append(readers, getreader(arg)
}

output := add(node, readers)
```
https://github.com/jbenet/go-ipfs/blob/cmd-ref-part2/core/commands2/name.go#L91


I wish to emphasize the importance of keeping the code framework-independent. 

We can't make decisions that get in the way of refactoring down the road.