Propagate struct space instances to box.space array whenever they change.

Instead of populating Lua box.space[] table once at
server start, update it with space data whenever it changes.
This is a pre-requisite patch for the new data dictionary,
which allows adding/dropping spaces on a running server.

Generalize session triggers to be usable for on_commit/on_rollback
events.