docs
Merge branch 'refactor' of https://github.com/daler/gffutils into refactor

Conflicts:
	doc/source/database-ids.rst
disable locking_mode=EXCLUSIVE
add duplicates table
update test for expected tables
verbose=False by default, and pass text_factory kwarg
add option for debugging messages
use _DBCreator._insert
add _add_duplicates() method
add _candidate_merges() method
re-write of merge_strategy="merge"

previously, this was failing on corner cases where some duplicate IDs
should be merged but some should not.  Now with the duplicates table in
the db and this re-write, it's possible to check all previously-imported
features whose id_spec evaluated to the same as the current feature, and
see which (if any) of those can be merged.  Way more robust.
doctest to check the merging strategy
pep8 cleanup
Merge branch 'refactor' of https://github.com/daler/gffutils into refactor
make logger.debug conditional,

even though the actual debug message doesn't get written, the string
still gets evaluated, which 1) is not time efficient and 2) can
introduce errors in some cases, because a Feature may be converted to a
string when evaluating the message before it's ready.
assume package is installed for tests
minor whitespace cleanup
unicode test differs in python vs ipython,

or even using nosetests --with-doctest or not.  this way, the test will
run in any of these environments
Merge branch 'merge_strategy' into refactor

Conflicts:
	doc/source/database-ids.rst
	doc/source/index.rst
license and readme