get_all() handles Canvas API pagination better

set per_page=50 to use fewer API calls.
Fixed bugs where calling get_all() would return an error if the call
returned only 1 or 2 pages.
Followed Canvas advice to treat link URLs as opaque.