Removed trailing whitespace from license
Moved instruction memory to it's own file.

- Split up instructions and instruction memory
Instruction memory changes

- Fixed some bugs
- Changed naming of slot reservations to better reflect their purpose
- Added reset function
- Added a function that checks if a key needs a matcher