Moderate Update

I needed to add an intermediary to break parent-child relationships when
starting programs.

I may attempt to implement stronger security into the intermediary in
the future, but as it stands if the intermediary doesn't find the .otr
file it simply starts watcher. Which is okay because this is meant to be
used in conjunction with the main program, which reads these files.

Also added some new functionality to various files as well as removed
some redundancies and useless functionalities from others.

As far as I know everything works, but like last time the testing I've
done might have missed something.
Otherwise not much was done, a few bug fixes and a little (and I mean
little) bit of improvements to the code.