Use Mockito to test Io behavior for OUT instructions

To run the code from now on you also need Mockito on the classpath. I
used version 1.9.5.
Add instruction unit tests: OR, ORI
Make access to state indirect in tests

The test case methods are now fully isolated from from the simulator
interfaces. This ensures that the tests won't break as easily when the
simulator is reworked.
Extract test environment fields and methods into a superclass
Rework "testFetch" to be "testNop" instead
Add instructions: AND, XOR, ANI, XRI
Add instructions: SHR, SHL
Add instructions: SHRC, SHLC
Add instructions: ADD, ADI
Add instructions: SD, SDI
Add instructions: SM, SMI