Initial commit for user->configs support

Allows the creation and editing of user specific configs.
Allows running of a shell command which can take
the config information as input.
Supports timeout and capturing of stdout, stderr, and exit code

Minimal tests included