Change @BukkitPluginRef contract for Cauldron

This is a required FML change for fulfilling the contract of the @BukkitPluginRef annotation in Cauldron.

The BukkitProxy class being a blank interface did not make any sense - it instructed users to downcast, but as no class implements BukkitProxy at compile time, there is nothing to downcast to, even if an implementing class was dynamically generated by Cauldron.

It is replaced by a wrapper class, filled at the same time as the @Instance annotations, that can be filled by Cauldron at a later time (as Bukkit plugins cannot be initialized until all Forge mods have been).

---

While this is an API break, the fact that the previous API was never implemented (and could never be implemented sanely) is enough for me to feel that such breakage should be okay.
Well, I was planning to have a list maintained somewhere in the `net.minecraftforge.cauldron` package. Is there a better class to put a list of these annotations in?