Split ApproveOrDenyLimit public functions into a public part which takes a msgCounter and resolves it to a Message using the pendingLimits as before and a private part which takes a Message and can be called directly from the internal WriteApprovalCallbacks. This removes the need to call FeatureLocalInterface.ApproveOrDenyWrite with an "empty" message when a message is not found in the pendingLimits for ApprovalRequests that don't match the current use case.
Split ApproveOrDenyLimit public functions into a public part which takes a msgCounter and resolves it to a Message using the pendingLimits as before and a private part which takes a Message and can be called directly from the internal WriteApprovalCallbacks. This removes the need to call FeatureLocalInterface.ApproveOrDenyWrite with an "empty" message when a message is not found in the pendingLimits for ApprovalRequests that don't match the current use case.
Fixes #104