No reason for user to be eid; changed to instance.

The Behavior is called directly by the user, so why did I tell it to pass
in the eid of the user? The user can just pass itself in.
Updated destroy, internals LevelView.

There's a _get_entity_by_eid(self, eid) in LevelView now.
Converted BehaviorAttackMelee.

The synatx for commands is wordy and unwieldly.
Added function to check range.
BehaviorAttackRanged changed.
BehaviorMoveAStar changed.
Converted BehaviorMoveStupid + Vert/Hori.
_detect_entities() was not removing self; fixed.

It was looking for self in self._detected_entities not self.eid in
self.detected_entities; changed, since _detected_entities now lists IDs,
not entities themselves.

Removed commented-out function attempt_move while I was there.
CompoundCmd's fragments can be accessed /w [].
Wrote some tests for Behavior classes.

I'll get the Behavior classes done, and then move on to the Tool classes.
All tests except for BehaviorMoveStupid green.

I'm not sure what's happening here; the test says that it's trying to move
either twice, or much further than...or, maybe, it's rejecting. Hoooold
on, let me check something.

Hey, guess what, my test code was wrong. It wasn't taking into account if
the attempt failed. Fixed, and green. Sweeeet.
Added docstrings to Tools.

I really like type hinting, actually. For my purposes I don't need some of
the more estoric dynamic typing techniques, so the whole hinting is very
helpful.
Changed parameter names; DoomGun converted.

Changed _target to _target_eid in the functions.
Changed Holo, added Command to place new Entities.

New command: LevelPlaceAndAssignEntityID. Places a new entity onto the
Level, and overwrites its eid with a new one from Level.