Check network

Simply adds a check before every HTTP request in the ApiInterface to ensure there is an internet connection. If there isn't an internet connection, it fails immediately.

One thing I have found out: when running an Android emulator, the emulator always thinks it's connected to some data service, so it will ALWAYS "have an internet connection" even when it doesn't. This is what causes the long timeouts. If you go into settings and turn off network data, you will see the instant fail.