Include alternative permissions for fail tests.

- Done by testing that those singular bits of permission don't result in
  accessing of private bad data.
Implement invert (not) operation.
Expose those bitwise implementation methods

- Could keep them outside not behind those special override methods and
  have those call the actual implementation.
Test out operator combination using constructor
First attempt at explaining the bitwise operators.