Rename helpers.go -> parser.go because of new role.
Moved actual semaphore code into own package.

* This will let me reuse it in other projects, and code
  is much more readable.
Use the new semaphore pkg and parser.