app: added Config object with get/set/defined methods

- Removed TODOs and added them as issues on GitHub
- Changed a lot of 'defined' calls to be $obj->defined(q(attribute))