added some stuff to core (check description)

- Added List<string> FindReverseDependencies(string modName) to
Registry, so we can handle reverse dependencies on uninstall
- Registry.Available() now checks if all dependencies are present before
declaring a mod available
- Added Registry.Incompatible() which returns the list of incompatible
mods
- Some GUI additions