Rewrote sysarg parsing and added custom configdir

Now uses the argparse lib instead of the old crappy homebrew, which
means more fancy args can be added and shit if I feel like it.

Also added possibility to use a different config directory than the
default. Useful for testing.