Added effector_p versions of add_[pre|post] to base_object.

Issue @I5 : Added effector_p (std::shared_ptr<abs_effector>) versions
of add_pre() and add_post() methods to base_object. These are to
address a use case discovered while working on the diff_steer module.
Unit test development for the new methods remain.
Completed unit test for add_[pre|post](effector_p) methods.

Issue @BG5 : Unit test is complete and this issue is ready to merge
to the master stream.
Changed add_[pre|post] arguments to references.

Issue @B5 : Changed the argument type to references to avoid
extra copying.
Merge pull request #13 from fpstovall/mk_add_shared_ptr

Add add_[pre|post](effector_p) methods to base_object.
Merge branch 'master' to pick up base_object changes.

Issue @B5:R : This completes the work on issue 5. Work resuming on
the diff_steer module.
Updated diff_steer constuctor to use smart pointers properly.

Task @T29 : Ready to proceed now that smart pointer reference counts
are correct.