Added support for set execution

Classes and methods for the Simulator have been moved to a separate file
to make it easier to maintain.
Added automatic fallback exection for instructions

By default, if an instruction does not have a special rule then the
funcall field store in the instruction template will be invoked. By
default this function is a!! which is an error function meant as a catch
all.
Fixed the licenses for my initial test cases
Simulator now works with basic binary operations

It will still be necessary to implement load, store, branch, and
interrupt operations as well.