Update DefinitelyTyped/ typings

 Several Node$NAME interfaces were grouped under
 a NodeJS module as NodeJS.$NAME
WIP - Support adding new items to 1password vaults
Add utility methods to recursively list and copy directories

Also fix several bugs in VFSUtil.rmrf()
Implement saving of new items to the 1pass vault

Implement saving of new items and updating the contents.js file
Get CLI 'add' command test passing

 * Save timestamps as integers rather than floats
   in contents.js and .1password files by adding missing |0 coercion

 * Initialize the folder UUID property to an empty string for
   consistency with how 1Password represents an item without a folder

 * Store website for login entries in the item's general 'location'
   field as well as in the URL list.

 * Make the 'title' argument to add a single parameter rather than
   treating all arguments to 'add' after the type name as part of the
   title.

 * Correct handling of password prompts other than for the master
   password in the fake terminal implementation in the CLI tests.
Create a copy of the vault for the 'add login' test

The other tests do not modify the vault so they can run directly
in the source dir but tests which do should operate on a fresh
copy of the vault.
Implement test for item data encryption via key agent
Add function for random password generation

This generates passwords following the same scheme as the Go
1Pass client by default, passwords of N chars with a dash
after every 3rd char containing at least one char from
each of the charsets [A-Z], [a-z], [0-9]

eg. 'Nfb-z86-0eyz'
Show an indication in the 'show' output when the item is in the trash
Implement password generation and confirmation

 * If the user enters '-' as the password, generate a random
   new password.

 * Otherwise, prompt for the password twice and repeat the prompt
   cycle until the passwords match.