Fix __getattr__ implementation to raise correct exception

If an unknown attribute name access was attempted on `PairingStatus` or `AuthenticationStatus` objects they would raise a KeyError instead of an AttributeError.  This breach of contract breaks things like pickling - so this commit fixes that.
Merge pull request #23 from toopher/bug/getattr-breach-of-contract

Fix __getattr__ implementation to raise correct exception
Fix the tests that verified the breach-of-contract for __getattr__
Merge pull request #24 from toopher/bug/getattr-breach-of-contract

Fix the tests that verified the breach-of-contract for __getattr__
Fix infinite recursion when unpickling PairingStatus and AuthenticationStatus
Merge pull request #25 from toopher/bug/getattr-breach-of-contract

Fix infinite recursion when unpickling PairingStatus and AuthenticationStatus
Add iframe libs
PR feedback - make return type consistent with method name
PR feedback
PR Feedback - this is why we have code review, people
update to reflect new pairing deactivated error code 707
Add iframe README
Deal with params passed in as dict-of-lists
Add tests for exceptions
Merge pull request #27 from toopher/feature/iframe

Add iframe libs
Change Java comment to Python comment
Convert to fenced code blocks w language specified
Fix namespace of errors

They're in the `toopher` module--not the `ToopherIframe`
Convert from Java error to Python error

toopher-python: ERROR_CODE_USER_DISABLED = 704
toopher-java: public static final String USER_OPT_OUT = "704";
Test validate with immutable dict