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.
Should this throw an error if `String(type).toLowerCase() != 'low' && `String(type).toLowerCase() != 'high'``? People will pass in like `0`, `null`, etc. but probably not `""`.