Cleaned up gitignore.
Changed to with/without for library dependencies.
Mostly header cleanups with some control fixes.