Added more error handling and passing, including returning a status from
doRequest/doLiveRequest and auto-retrying bad network connections.  Also
moved AlgorithmError enum to DirectionsStatus.