Removed unneeded macro.

The table is not given to the bg_manager. The supervising process
creates the tables named and public. The bg_manager always refers to
the tables by name, so there's waiting for a transfer.
Added defaults to state record.
Prefer unlinking in test rather than test only start.

The more similar the code used in test is to production, the better.
If the test needs to survive killing the manager, unlink can be used.
Removed reference to start/0 function
Tests and changes to boost coverage and correct specs.

Most tests are there to ensure the external api remains consistent and
cover the interesting cases. This has boosted coverage from 60's to 90's.
This also caught incorrect specs for some return values.