Update call dispatching, to make it easier to read, follow, and extend.
Add the get-roles call.
Remove the parameter-less constructor.
Rename methods.
Add tokenId and userId parameters.
Move counts and brokenness checks out of the individual handler methods and into handleRequest, so they'll still be effective if an individual handler method is overridden in a derived class.
Pass the xml variable to the handler methods, instead of calculating it twice.
Add a resetCounts method.
Replace direct writes to validateTokenCount with calls to resetCounts().
Rename 'ok' to a more descriptive name.
Rename the count properties.
Count the calls to get user roles.
Use closures for individual handler methods.

The methods that each handle a single api call are now invoked via
additional closure properties. This provides a level of indirection
which in turn allows us to alter a single api call's behavior
without changing the main handler or overriding in a derived class.
Replace the handlers, instead of isXyzCallBroken properties.
Un-extract the handleTokenCallBase method.
Remove the errorCode and isXyzCallBroken properties, as they're no longer used.
Rename IdentityServiceResponseSimulator to MockIdentityService.
Move the mock identity service to the framework.mocks package, where it rightly belongs.
Distinguish between the normal path part and the query string.
Fix regex matches.