Trying out Guice

Guice is a dependency injection framework that may help to shrink down
my mods even more.
Minor tweaks

- Adding messages to the checkNotNull calls for the new Guice providers
- Binding ForgeEventSubscriber in a singleton scope, so that we don't
add unnecessary extra handlers to the underlying event bus.
Removing bindings for configuration classes.
Removing guice and doing DI by hand

Don't want to inflate the jar file too much by shadowing guice and its
dependencies.
Adding it back later should be easy enough.
Renaming Main.java

In preparation for next...
Dropping inheritance in favor of composition.

@Mod classes will no longer inherit from ModBase ("is-a").
They will instead own a IModLifecycleManager instance ("has-a") if
needed.
Update README.md

This is much more than just "hey, these are dependencies I refactored
out of YALSM".  This is now shaping up to be the most significant part
of my mods.
So it deserves a README to introduce the concepts.
Removing the concept of "item tags" (+misc)

- Making ItemDefinition instances equatable to one another.
- "Item tags" make no sense now that ItemDefinition instances are
equatable, so I removed everything related to item tags and simplified
accordingly.
- Adding @Override to some missing places.