ENH+BF: Capture multiline matched lines into fail ticket

Previously only the last line of the match was being saved, not all
lines involved in matching.

Log lines are now broken into 3 part tuple, with the line pre-datetime,
the datetime, and post-datetime. Allows reformation of full line, but
also use of the line without the datetime present.
Attempting to use the term "tupleLine(s)" where possible, to avoid
confusion with normal read lines.

May also wish to consider that regexs could be made to capture more
lines of interest if some form of unique reference is available. This
may allow more lines of interest to be captured, which may not be picked
up by the traditional "grep <ip>" approach i.e. ones which do not have
the ip address in.

This also simplified the fail2ban-regex statistics for missed lines.
Also resolved bug with missed lines time extracted for debuggex having
some lines present which were captured in a multiline regex.
Also resolved independent issue with ignored line check including the
datetime, which raised assertion error in the rare case the datetime
matched the ignore regex, and the rest of line only matched a failregex
BF: Allow handle case when SKIPLINES lines is not matched

Example is when one or more SKIPLINES is optional in a regex
BF: fail2ban-regex erroneously reporting multiple regexs had matched
ENH: Add fail2ban persistent data storage
TST: Fix test for fail2ban.conf with new database options
BF: Fix dbpurgeage default value, and change default dbfile extension
BF: Improve handling of clearing old jails in database
ENH: Remove thread locks from Fail2BanDb
ENH: Database now optional, by setting dbfile to "None"
ENH: Add getBansMerged method to Fail2BanDb

Creates a single ticket for an IP, made up of all previous bans
MINOR: PEP-8 tweaks for multiline-matches change set
Merge pull request #476 from kwirk/multiline-matches

Capture multiline matched lines into fail ticket
TST: Appropriately mark JournalMatch transmitter test as skipped
MRG: branch 'kwirk/database' into 0.9 - gh-480

Conflicts:
	fail2ban/tests/utils.py
        - Another test suite added in separate commit e09b700
DOC: Update MANIFEST with database elements
BF: Database wasn't being passed to jails
BF: In line comments need to specifically enabled in python3.2+
BF: In 0.9 recidive bans come from fail2ban.server.actions

Also changed journalmatch to limit to WARNING priority to avoid the
recidive + DEBUG combo issue
TST: Fix test for recidive samples broken is last commit
ENH: Add <ipmatches> and <ipjailmatches> tags

Example use filter also added for sendmail-whois with ipmatches rather
than grepped lines