pre_data now handles exploding worker pids.
Enforce transactions on many api things.

The real reason to do this is to force transaction required functions
to all run within the same pid. Some backends (mnesia) require transations
not cross pid bounderies (it uses the process dictionary to track
transactions). This change does the same to keep track of the callback
module. This has the advantage of requiring fewer trips to the pre_data
process, so pragmatism beats the 'pdict is dirty' purity.
Added comment and fixed some whitespace.
Mnesia backed with everything but search.
Removed 'member' search param

yagni.
Mnesia backend implemented.

It will need some more work; specifcally the check_setup/0 will need to
be extended to build/check for the required tables, or even possibly the
nodes in the cluster. For now, it's enough to prove it doth work.