Unknowns

Handle unknown types better.
* Unknown types export to the directory they were originally in.
* Router type is left on the root directory.
* App type that previously defines itself on the window is handled and possibly other window defines.
* Preprocess and split-file process are merged into one stage.
Because, it is simply a namespaced "class" function, i.e., someone would call, TypedExport.determineType and not call it on an actual object instance. We could also simply export this function I suppose.