more atomspace refactoring

Another absurdly large batch of changes.  This was all supposed to be simple, easy, clean. Arghhh.

All unit tests pass for me.

Long term goal of these changes is to improve performance via direct access, while at the same time enable distributed operation across multiple clients.