various tweaks & fixes

Mostly for
https://github.com/libgdx/libgdx/issues/2359
https://github.com/libgdx/libgdx/issues/2524
https://github.com/libgdx/libgdx/issues/2441
https://github.com/libgdx/libgdx/issues/2436

I guess the `<?>` were added to avoid compiler warnings? Those warnings are disabled in the libgdx Eclipse project files. If using another IDE, better to also disable them there. Here's our Eclipse generics warning settings:
![](http://i.imgur.com/A3ipTg4.png)