Module #initialize specs

MSP-11145

Spec that all modules can be initialized.  For payloads modules, check that the a module can be initialized when it's single module or it's stage and stager are loaded.  Detects when a payload module is not being tested and fails `rake spec` with exit(1) if a file is not tested, but cannot detect if a payload test is missing if its ancestors are used at least once.

# Verifications

## specs
- [ ] `rake spec`
- [ ] VERIFY no failures

## Failure testing
- [ ] `git checkout 216360d`
- [ ] `SPEC=spec/modules/payloads_spec.rb" rake spec`
- [ ] `echo $?`
- [ ] VERIFY exit status is 1
- [ ] VERIFY contexts to add to were printed.
- [ ] Restore to HEAD `git checkout -`

## Tags

### Local
- [ ] `SPEC_OPTS="--tag content" rake spec`
- [ ] VERIFY only `spec/modules_spec.rb` and `spec/modules/payload_spec.rb` are run.
- [ ] `SPEC_OPTS="--tag ~content" rake spec`
- [ ] VERIFY everything except `spec/modules_spec.rb` and `spec/modules/payload_spec.rb` are run.

### Travis-CI
- [ ] VERIFY the `RAKE_TASK=spec SPEC_OPTS="--tag content"` job ran
- [ ] VERIFY the `RAKE_TASK=spec SPEC_OPTS="--tag ~content"` job ran
Added explanation [here](https://github.com/limhoff-r7/metasploit-framework/blob/feature/MSP-11145/module-initialize-spec/spec/support/shared/examples/payload_can_be_instantiated.rb#L6-L29) and [here](https://github.com/limhoff-r7/metasploit-framework/blob/feature/MSP-11145/module-initialize-spec/spec/support/shared/examples/payload_can_be_instantiated.rb#L60-L65)