Cleanup, added License, better documentation

The code has been cleaned up a bunch.
    better argument names
    defaults to all warnings
    uses clang instead of gcc
        this may/may not be considered an improvement
    source files can be excluded

MIT License added
don't use a list as default parameter value

oops. This is python 101 stuff