Add sharness tests to document existing mount bugs

This uses test_expect_failure to document some bugs
related to 'ipfs mount'.

License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
pin: Added a Pinner#Set function to retrieve the set of pinned keys
core/commands: Added a 'pin ls' command
core/commands: Fixed pin flag name (conflicted with global -r/--recursive flag)
core/commands: Created a general key list output type and plaintext marshaler
core/commands: Fixed 'refs' option name collision
core/commands: Made 'refs' output u.Keys instead of strings
core/commands: Added plaintext marshaler for 'pin ls'
commands: Gave global options exported names
commands: Changed Option to an interface
commands: Added a 'Definition()' method to OptionValue to get a reference to the option definiton
commands/cli: Only allow recursive paths if -r option definition is OptionRecursivePath
core/commands: Made 'add' use OptionRecursivePath
core/commands: Restored 'pin'/'refs' option names
commands: Fixed tests
pin: Return copies of pinned keys, of each type (direct/indirect/recursive)
core/commands: pin ls: Accept 'type' option to specify type of pinned keys to list
commands/cli: Fixed helptext option type
core/commands: pin ls: Default type to 'direct'
core/commands: Better syntax for 'pin ls' option value handling