App config makeover.

Adds more flexibility by introducing config objects
and inheritance structure between them.
Adds *iml to .gitignore.
Merge pull request #1 from ca77y/master

Config makeover