Added new public method  base_object::drop_attrib(id)

Issue 2: Added a base_object::drop_attrib() to allow the safe
removal of an effector from either the pre or post lists. Effectors
are dropped during the cleanup phase of the tick method. drop_attrib()
itself simply queues the provided effector id in a new private
vector dropped_attribs for removal on the next tick. Unit tested and
ready to go.
Had to add this to keep the list from growing over time and killing performance.