* Final building/feature/resource calendar cleanup
6905 - buildingId in user does not seem to refer to buildings
8026 - simplify
11284 - 11300 - Allow user to select new resoure calendar fields
11324, 11372 - make callGAPIpages calls similar to all others
11432 - collapse features to a list of names so it canbe fed back to update resource
11438 - Organize output
* Fix typos
* Check user location buildingId, fix typos
* Correct function name
* It's not a user error in the API gives us a bogus buildingId
* Update documentation, and _getBuildingNameById
You can do what ever you want except exit
* In gam transfer drive, handle unlimited space in target
* Handle user asking for download files when there aren't any
* Reset downloadurl for each CrOS device
* Once a file is foud to download, break out of the loop
* Minor cleanups
In print users allow actual field names isenforcedin2sv and isenrolledin2sv
In print users, add delimiter and sortheaders options
In print groups, add sortheaders option
* Fixed bug in gam oauth create where entering `e` to exit without changes didn't exit.
Remove printer register from documentation
Make non-documented command be:
`gam printer register`
instead of:
`gam printer xxx register`
as xxx isn't used (it's PrinterID for other commands)
49-51: Keep pylint happy
99-1029, 3328: Handle transition from service account to client for calendar
3194: Prepare for client access switching to Google oauth
This is similar to validation in add/update course
In doPrintCourseParticipants, set fields to minimize data download when gettting course list
Sort titles in print course-participants