Update districts to optionally use an auth token for retrieval

This is a reimplementation of the change we submitted in #26 since upstream changed :)

This change is to support our use of the gem. Since we interact with many districts, we need to be able to use a unique auth token for each district. As a result, we cannot rely on setting it globally once. These changes allow us to optionally provide the auth token when we setup a district. This value is optional, so if one is not provided, the existing logic will still continue to work as it is before this change. If there is something we've missed, let us know and we'll gladly update the PR.

Thanks!