Add initial work on protected interfaces to all pdf.Object types.
Clarify the semantics of Clone(), Protect(), and Unprotect().
Protect() was renamed from Protected() and Unprotect() was renamed from Unprotected().
Refactor unit tests to provide more exhaustive testing of Protect(), Unprotect(), and Clone() of container objects.
Add Boolean interface for which TrueBoolean and FalseBoolean are implementations.
Add Value() method to interface and implementations for TrueBoolean and FalseBoolean.