Fixes and improvements for retrieving IMixinInfo from ClassInfo
In MixinInfo#postApply, the MixinInfo reference was being added to the ClassInfo of the mixin itself, rather than the classes the mixin is applied to. This meant that Mixins.getMixinsForClass would only return MixinInfo on mixin classes themselves, not their target classes, and ClassInfo#getAppliedMixins() was empty for target classes.
This change fixes the behaviour to resolve the ClassInfo of the target class and add the MixinInfo to that.
Rebased on top of 0.8.5 (https://github.com/SpongePowered/Mixin/commit/155314e6e91465dad727e621a569906a410cd6f4). I was informed that a mod uses the current broken behaviour, so I've added methods to expose IMixinInfo in more places and provide greater flexibility:
Allow external code to query the list of mixins that target a class, including mixins that were not applied, by exposing getMixins as a public method; this method wasn't used internally but exposing it allows external error handlers greater visibility of mixins targeting a class.
ClassInfo.mixin is also exposed with getMixinInfo to allow external code to retrieve mixin metadata from a class. This supersedes the need for some other methods like isMixin and isLoadable, but these are kept for compatibility.