Pin.readPulse() functionality

Basically does exactly what the title says. It implements readPulse functionality.

Check out `test/test_read_pulse.js` and mess around with the test to see if it's all good.

Comment/critique to your hearts desire.
You can call the function and only add the listener on success, rather than removing it on failure. The event can't happen until this stack fully unwinds.