Clean up Entity interface

Just a little housecleaning. Added missing interface declartions.
Revert "Clean up Entity interface"

This reverts commit 3dab49cf2cf5b9d46d16ab9e4e6c7fa25d62403c.
Fix compile errors
Add command targeting
Fixed a few bugs, added a few features
Fix some more bugs
Merge branch 'SmoothGranite'