don't use locking_mode=EXCLUSIVE
support for arbitrary encodings

- use default sqlite3.text_factory, which always returns unicode
- default encoding when creating db
- try/except clauses handle encoding/decoding as needed
make strict attribute ordering optional (and off by default)
strict -> keep_order

renamed kwarg to be more descriptive, and so that it can be used with
feature_from_line
better handling of in-memory databases

streamlined handling of creation and handing off of sqlite3 connection
objects to downstream FeatureDB objects
another in-memory tweak
better merging of attributes

now correctly handles merging when the new feature has attributes not
found in the existing feature
send keep_order to create_db and FeatureDB
use new _feature_returner method

now when information needs to be added from the db to a feature, it's
all done in one place, FeatureDB._feature_returner
docs cleanup
handle empty attributes, not just None