Changed the interactiveCollideable interface methods take a string argument defining the identity of the object they collide with. This allows for different interactions to occur based on what's colliding.

Made level initialization take in a levelNumber, which specifies which set of tile Data to load. Incorporated this into Game class methods.

Made a null command, which does nothing. This is sometimes used with an interactiveCollideable needs to broadcast nothing.

Made enemies into interactiveCollideables. Their oncollisionDo gives them the "Collided with player" status effect. Their onCollisionBroadcast gives the null command for now.  This is nice because I had removed the commandStack from the collisionHandler, so the enemies had no way of giving commands to the player from a collision anymore. Also now Behavior no longer needs access to the collision Handler to check player collisions. It still needs it for dealing with other interactive collideable collisions, but maybe I can fix this...

I had to move the populateInteractives method to public and call it within the Level constructor, because the level had to initialize the enemies before this thing was called. A kludge. I think level needs to be refactored....