Make UTF8_* constants unsigned.
Copy option.hh straight in 'cause I'm lazy.
Add parse.hh

Currently contains a bunch of templated functions for working with
iterators.
accept_run: remove Int type, use multiple implementations.

This kills a branch in accept_run and removes the unneeded use of
optional for a parameter. Also means I can put the function argument at
the end of the accept_run functions.