Use valid item content structs in tests

In preparation for additional validation of the content
of saved items, use Item.SetContent() in tests
rather than SetContentJson()

Also change the interface to SetContent() to expect
an ItemContent rather than a generic interface{}
Add option to generate random passwords when entering password field details

Also avoid displaying the password on screen
Add 'export' and 'import' commands

'export' saves the decrypted contents of an item
to a JSON file.

'import' imports an item previous saved with 'export'.