Add specs for Rex::MIME::Encoding
Add specs for Rex::MIME::Header
Add specs for Rex::MIME::Part
Add first specs for Rex::MIME::Message
Add specs for add_part and add_part_attachment
Add specs for add_part_inline_attachment
Add some Message specs
Fix Rex::MIME::Header#parse
Fix Rex::MIME::Message#initialize boundaries parsing
Add @jlee-r7's feedback
Use a part subject to describe #add_part
Describe setters just expecting how assignement to properties should happen
Move let helpers to describe groups
Move once more let into describe
Use peer when writing scanner modules

This fixes the module seen in PR rapid7#3684 to use the peer method at
the beginning of print_* messages, rather than the vhost method at the
end. Doing this tends to make reading the output much easier since it's
more consistent.

Incidentally, this module has an msftidy complaint:

````
--- Checking new and changed module syntax with tools/msftidy.rb ---
modules/auxiliary/scanner/http/ipboard_login.rb - [INFO] Please use
vars_get in send_request_cgi: send_request_cgi({ 'uri' =>
normalize_uri(target_uri.path,
"index.php?app=core&module=global&section=login&do=process"
````

This should be fixed as well, or explained why it's not being honored.
add ipboard loginscanner

add loginscanner class for IPBoard with specs
this should replicate the functionality originally written
by Chris Truncer, but move it into a testable, reusable class
refactor the ipboard-login module

now that we have the loginScanner class, we simplify the module
by using the scanner and credcollection classes to handle all
the real work for us
add VHOST and useragent support to loginscanner
pass in vhost and useragent

have http loginscanner modules pass in VHOST
and Useragent to the LoginScanner classes
Merge branch 'master' into feature/ipboard-login-refactor