[core] Implement saving and loading...almost...
[hacc] Fix the saving problem.

It was due to vanilla pointers specifying a policy of REFERENCE rather than ASK_POINTEE.  There's still a segfault when loading an invalid state.
[hacc] I guess Bombs segfault because...

...std::functions don't play well with stack unwinding.
[core] Catch exceptions when parsing and running a command.
[haccable] Throw unthrown errors when used.
[core] Give phases an init method.
[core] Put input into a Phase.
[core] Invert game:state dependency.

Thus vastly simplifying the game manipulation API.
[core] Fix bug of Statefuls not start()ing.