Many many updates

Implemented lots of the functions in gtr. Made convenience functions
and updated others where needed. Just finished with
perform_craftsman_action (but not Dialogs), have only architect and legionary
left. Decided that we need a separate Building class before
continuing.
Building class