Enhance validation decorator with error code

Rather than wrapping each API call in a try/except block in the event
that a 404 rather than a 403 is thrown due to lack of permissions, the
decorator rbac_rule_validation.action is enhanced with the a new kwarg
called 'expected_error_code'.

The decorator now handles any error code that is passed in, and raises
the Forbidden exception even if the error code is not 403.

This commit also refactors the tests that use the try/except block to
handle non-403 error codes.

Change-Id: I9d263e21110fb9f988a6d4d781bf54e81f485f14
Implements: blueprint enhance-validation-decorator-with-error-code
11 files changed