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.
Putting the attribs cleanup here ensures that it can not introduce time quanta inconsistencies; the dropped attribs are removed before any quanta processing for the object begins.