Add inputs to SDK.

Refactored out a ReadOnlyCollection superclass of Collection.
Create InputKinds and Inputs classes, and add Service#inputs method.

Fixed a typo in the ResultsReader documentation.
Started adding modular input kinds.
Merge branch 'fross/inputs' into fross/mod-inputs
Finished adding modular input kinds.
Add test for roles on users.
Update Changelog.
Resolved comments from reviews. Added tests to get coverage up. Fixed bugs found by new tests.