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.

Meyers also doesn't write functions like RippleCalc. While this example may not be the best, it is often the case in large functions riddled with technical debt that they have many local variables (as you can attest). Marking as many as possible `const` enforces the invariant that "this computed value does not change later in the function." - a real problem with these large functions.