Added SqlCipherDatabase (no threadlocals [yet?])

pysqlcipher doesn't understand the threadlocals directive,
so all tests that require it fail.
See comment at tests.py line 3782
Now only fails "probably unsupported type" tests

I guess these are fancy types that sqlite3 doesn't have either,
but let's see what happens when I try to pull-request this ;)
Full test results: http://pastebin.com/Br96wCav

The main "fix" was to *ignore* the 'threadlocals' keyword, since
as an instance of Database we're supposed to get this at __init__()
*not* as part of connect_kwargs but as a standalone keyword.
Some tests manage to "inject" that keyword into connect_kwargs as well
but it doesn't matter, because __init__() was supposed to deal with it
and we can safely ignore it.

I also had to fix some test suites so that they supply
**database_params to the connection they create
Moved stuff to playhouse

I also added both apsw and pysqlcipher as -e options in the help
text (apsw has --apsw extras, but it also needs -e apsw if I
understand correctly).
Anyway, I hope I did it right.
Fixes what I broke in tests for *other* engines :s

"vanilla" tests pass again, Travis... Sorry.
"-e pysqlcipher" gets the same 22 "probably unsupported type"
errors: http://pastebin.com/Br96wCav
Added a warning that it's experimental

Before peer reviewers notice that I haven't so far :relaxed:
Fixing according to @coleifer's remarks
Remove a historical comment botch
Ouch!

Removed a stray joke
Another round of fixes
Loose ends
-e pysqlcipher passes all tests \o/

I still need to write the --pysqlcipher extra tests.
Added --pysqlcipher tests

I hope it's ready now.
PEP 8. Remove tearDown().
Some more PEP 8
Document sqlcipher_ext at playhouse.rst
Cleanups
More cleanup and consistent names.