Tabassassin msftidy

Adds a retabbing utility (that keeps a local backup of retabbed files) and a test module.

For more details, please see 

https://github.com/rapid7/metasploit-framework/wiki/Indentation-Standards

## Verification

- [ ] Run `tools/msftidy.rb test/modules/auxiliary/test/space-check.rb` before landing.
- [ ] See many warnings about soft tabs and mixed tabs.
- [ ] Run `tools/msftidy.rb test/modules/auxiliary/test/space-check.rb` after landing
- [ ] Note three WARNINGS, as seen below:

````
$ tools/msftidy.rb test/modules/auxiliary/test/space-check.rb
space-check.rb:17 - [WARNING] Space-Tab mixed indent: "\t    'Name'           => \"Check Test\",\n"
space-check.rb:18 - [WARNING] Space-Tab mixed indent: "\t  \t'Description'    => %q{\n"
space-check.rb:19 - [WARNING] Space-Tab mixed indent: "\t\t   This module ensures that 'check' actually functions for Auxiilary modules.\n"
````

Note that regular users should **not** run `tools/dev/retab.rb` over large chunks of the codebase; please allow @tabassassin to fulfill that role. In this way, whitespace changes are contained on one committer, making commands such as `git blame` and `git shortlog` easier for humans to comprehend. Retabbing your own, uncommitted new modules is of course fine, once this PR lands.

Note that once @tabassassin does his (my) thing, `diff -b` (and `git diff -b`) should be pretty standard for diff checking to ignore leading whitespace changes when tracking down bugs.

**Note to landing committer** each of the commits has comments explaining the file changes so there's hopefully no misunderstanding.