Small bug fix that occured when using pype decorators out of order

configuration passed to the `input`, `output` and `state`
decorators could be lost when the config decorator was used before
or between any of them. This could cause cryptic errors.

Besides the bug fix, this also moves all exception classes to a
new file named `base.py`. This file also includes any pype constants.