Change MockPin (and MockPWMPin) to make them behave more like 'real' pins - fixes#206
Add new MockPin tests, and rework some of the existing ones
Incorporate #216
Doing timing tests on pypy (for blink) just doesn't work; even with a
tolerance as coarse as tens-of-milliseconds, things fail. I guess that
isn't too surprising given that, as the tests are one off things the
pypy JIT is never getting a chance to spin up and do its stuff.