Split names code into common/server parts.

Split the old names.h/names.cpp into parts that are necessary for
libbitcoincommon (for coins DB / chain state / name DB) and other parts
for libbitcoinserver (tx verification, mempool and so on).  This allows
to clean up the Makefile (in sync with Bitcoin) and re-enable
namecoin-tx.