new setup revolved around several apps. Fixed such that every time the
lib is buildt, the main .so files are updated. Fixed so that tests are
nothing but another app. made a script for seting up new apps quickly.

TODO: clear initialize out of KMCSolver and implement in main
TODO: make so that every app has it's own config file.
TODO: make default constructor for KMCSolver that does not rely on a
config file.
cleanup.
All apps have their own in and output files, config files etc. cleanups
and tests passing.

TODO: make tests independent of config.cfg and thus kmcsolver able to be
initialized without a config object.
a solver can now be fully initialized without a config file, as is now
the case in the tests. Minor tweaks to set and get functions, config
loaders etc.