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