Fix semantics of Config::update()

- correct return value on failing resources
- cleanup fabric::Error
 - move error enums to separate file
 - encode originator in the error
 - serialize error as an object
- use return value for configInitFBO
Otherwise I vote for naming it byteswap() to avoid confusion wrt std::container::swap( other )