System categories for entity systems

When working on a game using libgdx/ashley together, I ran into some issues where I needed to update separate groups of entities in a different order with logic in between. I didn't want to call getSystem() for every single system I had and iterating getSystems() isn't any better since I'd have to use reflection or something to try to see what it is. I wasn't able to do this while also manually overriding update(). It hides the updating boolean along with some other functions so I was unable to call them properly. I decided to attempt to modify the code a little bit in order to allow custom groups, along with making the update call a little more flexible.

If anyone thinks this is good enough to be merged in, that's great. I'm open to ways of making this better. I'm not entirely convinced making SystemCategory an interface to extend was the best way to go about it, but it was all I could think of at the time. Not really a fan of using plain old strings, but that's another option. Maybe there's a totally different way that's better.