Continued Resource::Manger cleanup (JIRA RIPD-372)

 - Incorporates review comments from previous commit.
 - Increases Resource::Manager unit test coverage: verify a dropped consumer is blocked for a while.

Again from Effective C++ 3rd Edition Item 3 page 19 paragraph 4 (depending on how you count paragraphs. "There's nothing particularly new about `const` parameters -- they act like local const objects, and you should use both whenever you can."

Personally, I've prevented several bugs that I might have introduced by making as many things `const` as possible.  If someone points out something that I could have made `const` but didn't I'll always fix that.  I think that `const` is the second most important part of the language after deterministic destructors.