Added 'pin ls' Command

This PR adds a `ipfs pin ls` command, where users can view a list of what is being pinned. It only shows direct pins (keys that have been added with `ipfs pin add`). Maybe we want it to show the indirect/recursive pins as well?
```go
switch typeStr {
case "all", "direct", "indirect", "recursive":
default: 
  return nil, cmds.ClientError("Invalid type '" + typeStr + "', must be one of {direct, indirect, recursive, all}")
}
```