this commit is huge, but really it is just adding the apache 2 license header to everything
preserving re-bundled licenses related to slf4j and log4j