open /dev/mem with O_SYNC
process command line options with getopt_long()

This commit refactors the option processing from a simple string check to a call
to getopt_long.  This is in preparation to adding options other than just the
--pcm option, which can now also be called as -p.
add --invert option to invert pulse (0=HIGH, 1=LOW)

New feature: --invert

This is useful for common anode LEDs where the pin should sink current to
light the LED.  Instead of the output being held LOW and going HIGH for the
pulse duration, the output is held HIGH and is driven LOW for the pulse
duration.  This the pins are left HIGH when exiting as well.
update README.md to include new option and contrib sections

Per upsstream's request.
correct formatting of README change

should look better on github page.
Merge pull request #1 from petiepooo/master

Open peripheral mappings with O_SYNC flag + --invert

 * Open peripheral mappings with O_SYNC flag
 * Added option --invert for devices that expect an active-low signal