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.
Out of bounds memory read if you pass in an empty string. I would prefer if the lua binding were responsible for parsing the string, and pass it here as a `bool`, `char` (with documented options) or `enum`.