Split push instruction into push8.imm and push8, the latter which can be used when we implement the other push8s.
Added check of SP at the end to make sure it's being incremented properly on pushes.
Fixed missing connection between MAR and the XY source mux.
Adding push16.imm operation, its (passing) unit test, and the register flow diagram.
Separated out/refactored push16.imm into push16.imm and push16.? to enable future addition of other push16s.