Simplify logic in tick start/end

Change the EnumSet equivalent of "A &= ~ new(~B)" to "A &= B".
This eliminates the need for one temporary object in a frequently called loop, and reduces the number of methods that need to be invoked.
Fix demo mode crash. Closes #187
Fix supertype parsing to handle null superclass (Hi Object!). Closes #160
Merge branch 'master' of github.com:Uristqwerty/FML
Change type of connection queue to a concurrent linked queue. Much more efficient, hopefully. Closes #189