Updates the API to 4.0 for various changes
- Configuration is now slightly different and is injected into the request rather than being part of the API calls
- Scheduling comes now in two modes: "immediate" (in which a NotAvailable exception is raised if a backend is out of the availability window) and "next_available" (which raises a ReschedulingException if the call must be rescheduled, and the call will be run during the next availability window)
- added a submit_ version of each call which simply returns the call UID for future retrieval, for batch work
- Some backends have been renamed
- When client_timeout is set to zero, calls immediately "fail" by timing out (but are still submitted and can be retrieved when complete)
- More minor changes