Added an interface so that task wrappers can be identified.  This way we can remove tasks from the main pool, which have been submitted by sub pools/limiters.
Adding unit tests for the recently added functionality (and even improved on unit test for old functionality).  This also fixes some check style warnings, as well as an issue of removing the task from a scheduled task that was provided to a limiter.
Merge pull request #44 from threadly/remove_wrapped_tasks_from_PriorityScheduledExecutor

Added an interface so that task wrappers can be identified, to allow removal of tasks submitted into sub pools.
Improved unit test based off John's recommendation
Based off John's recommendation I pulled these two checks into their own function.  That way if we need to use these elsewhere, they are easy to move out, and are already documented.  I also improved the documentation for the remove call.
Merge branch 'unstable_staging' into experimental-more_concurrent_scheduler
Brought this up to date with the recent changes