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
some fixes based on Christruncer's feedback

fixed some stuff i borked, back to you chris
Add specs for valid IPBoard application
Add specs for invalid IPBoard application
Merge pull request #14 from jvazquez-r7/review_3699

Add specs for #attempt_login
Land #3699, @dmaloney-r7's ipboard login refactor