Fix incorrect error message if adding item fails due to vault being locked

Remove redundant call to item.Save() after vault.AddItem(),
check the result of vault.AddItem() and print a message
of confirmation when new items are successfully added.
Support specifying items by type name

 eg. '1pass list login' will list all folders in the vault
Simplify the wording for the 'list' command's help
Small refactoring of 'show' and 'show-json' commands

Extract logic out of main() func
Merge branch 'master' of https://github.com/robertknight/1pass