Kill off SSLv3 because of the POODLE attack

For more reading on the attack:
https://www.openssl.org/~bodo/ssl-poodle.pdf
https://www.imperialviolet.org/2014/10/14/poodle.html

For more reading on the fix:
https://gist.github.com/3rd-Eden/715522f6950044da45d8
https://github.com/joyent/node/blob/v0.10.32-release/lib/tls.js#L1127
https://github.com/joyent/node/blob/7c0419730b237dbfa0ec4e6fb33a99ff01825a8f/src/node_crypto.cc#L314
First stab at turning "banners" into generic filters
Get rid of banner from body options
Need to return the filter's return value
Add filter API to Transaction
Add unit tests for filtering stuff
Only test against first bit of content-type line
Add transaction docs
server: used named (vs inline anon) functions

and add aliases for host and port (increase readability)
server: consistent config handling

* added load_smtp_ini() with booleans + callback
* merged apply_defaults into load_smtp_ini
* replaced config loading (3x)
* removed cfg passing

It's not yet a convention in our code, but what I've been using consistently
in the plugins and elsewhere is:

   cfg = a reference to whatever is returned by config.get()
   c = a reference to something within cfg
server: moved defaults obj into load_smtp_ini()
p0f: add a register() and load config there

instead of in the master and child inits

and jshint tidyness
Merge pull request #731 from msimerson/server

server: consistent config handling
Fix undefined this
More idiomatic way to juggle this
Add encoding param to filters
Fix bug in helo.checks.js
Merge pull request #733 from msimerson/p0f

p0f: add a register() and load config there
Merge pull request #735 from smfreegard/master

Fix timeout bug in helo.checks.js
karma: move neighbor scoring from code to ini