- don't add the parent attach event within _on_table_attach
if we already have a table; this prevents reentrant calls and
we aren't supporting columns/etc being moved around between different parents
- clean up provision and keep sqlite on memory DBs if thats what we start with
- TIL that dict.keys() in py3K is not an iterator, it is an iterable
view.  So copy collections.OrderedDict and use MutableMapping to set up
keys, items, values on our own OrderedDict.

Conflicts:
	lib/sqlalchemy/engine/base.py
- The :class:`.IdentityMap` exposed from :class:`.Session.identity`
now returns lists for ``items()`` and ``values()`` in Py3K.
Early porting to Py3K here had these returning iterators, when
they technically should be "iterable views"..for now, lists are OK.