test: add a unicode character to a bib title

This exposes a big bug in piping unicode output to files or pipelines.
test: add test for piping search output to command
cli: use codecs to set stdout writer to utf8

It's unclear if this is the correct thing to do, but it seems to fix
the problem with the output encoding differences between terminals and
pipes/files.  See e.g.:

http://stackoverflow.com/questions/492483/setting-the-correct-encoding-when-piping-stdout-in-python
test: tweak some test names.
test: only refer to add command by 'add'

This is in preparation for potentially using the term 'import' for a separate command.
cli: when exporting, get title only once per doc.
cli: export: encode output file names utf-8
test: add second entry to one bibtex file

this essentially encodes that we only import one bibtex entry (the
first) per document.
cli: tone done unknown command message.
cli: fix documentation/cli to refer to only 'add' command.
db: use 'key' as prefix for bibtex citation keys
cli: add output format for bibtex citation keys
cli: update documentation about key search
test: add key search tests
cli: fix default output format, and check for correct formats
db: don't use reserved word for temporary list
bibtex: Add new Bibtex class for loading bibtex files.

Provides an iterator over Bibentry objects.  This allows for reading full bibtex
database files with multiple entries.

Bibentry input is modified to just accept bibtex entry and key fields.
This requires tweaking doc and cli to call Bibtex first to load the file and
then extract just the first entry.
bibtex: allow specifying type for entry when importing with data2bib or json2bib.
source: update DCC source

The recent DCC upgrade broke this.  This fixes it and
reenables it.
update copyright