New BussTUC plugin and several utils and fixes.

Add BussTUCPlugin with support for BusTUC by IDI. Add jSoup-based website-retriever. Add utils for general purpose use. Clean some junk. Fix settings file not being generated if not existing.
Alright, I agree it makes sense and it won't crash anything.

You should know what you are getting back on the callback anyways, there's really no way that can get messed up, so you just have to cast the objects you get back, I don't see the big deal.

The only reason, and the big difference to how Gson works, is that all the reflection is actually hidden in such a way that you only specify a class to use. If you could make the reflection strong enough to supply only the method for callback, and extract all the parameters from the method directly, I'd accept your comparison. What you are doing here is creating a very complex way to do something which should be simple for the developers of plugins.

I understand that you like to experiment and delve into the API for your own sake, to do something cool and learn something, and that's really great, I applaud you for it, good job! On the other hand you are completely loosing touch of the fact that other people have to continue using this when you are gone, without your 8 years of knowledge in Java. The other way of doing this, with interfaces, is more in touch with what people actually learn at the university.

Still, it's an elegant solution, and I don't mind putting it in there. Something to aspire to is never a bad idea to have in a learning project, and there are other alternatives.