Fix for jars whose entries do not follow directory structure.
resolveM3 now also handles source locations that do not have the project
name in the authority.
Added source and jar converters as subclasses of M3Converter.
Converted URI usage to @DavyLandman's new SourceLocation API.
Added source location cache for better performance. Thanks to
@DavyLandman for pointing it out.
Added creation of M3 from jars.
Changing minimum version required for ASM to 4.0. Visitors were
previously interfaces and now are abstract classes.