Add `creds` subcommands

### Verification
 - [x] `bundle install`

#### `add-password`
 - [x] `creds add-password frank p455w0rd`
 - [x] Add a dup: `creds add-password frank p455w0rd`
 - [x] `creds`
 - [x] **VERIFY** only one shows up 
 - [x] `creds add-password frank p455w0rd contosso`
 - [x] `creds add-password frank p455w0rd template1 pgdb`
 - [x] `creds`
 - [x] **VERIFY** all of the above show up seperately

#### `add-ntlm`
 - [x] `creds add-ntlm bob aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 contosso`
 - [x] `creds`
 - [x] **VERIFY** it shows up
 - [x] `creds add-ntlm bob asdfasdf`
 - [x] **VERIFY** displays validation error

#### `add-ssh-key`
 - [x] `ssh-keygen -f /tmp/temp_rsa`
 - [x] `creds add-ssh-key bob /tmp/temp_rsa`
 - [x] `creds`
 - [x] **VERIFY** it shows up and displays the fingerprint
 - [x] `creds add-ssh-key bob HACKING` (an existing file)
 - [x] **VERIFY** displays validation error
 - [x] `creds add-ssh-key bob asdasdfasdfasdf` (a non-existent file)
 - [x] **VERIFY** displays validation error

#### existing functionality
 - [x] `use auxiliary/scanner/ssh/ssh_login`
 - [x] set appropriate options to get some creds
 - [x] `run`
 - [x] `use auxiliary/scanner/smb/smb_login`
 - [x] set appropriate options to get some creds
 - [x] `run`
 - [x] `creds`
 - [x] **VERIFY** expected creds show up for both services
 - [ ] `creds <ssh host addr>`
 - [ ] **VERIFY** only *ssh* creds show up
 - [ ] `creds <smb host addr>`
 - [ ] **VERIFY** only *smb* creds show up

Please make the change.  This kind of thing is all over the codebase, and using blank? and present? is a best practice given Ruby's somewhat odd truthiness.