Add option parsing, refine persistant watch

It is pretty much in a totally usable state at the moment.
instant_watch is a little slow to start, but not too bad.