Simplified the CLI speedtest implementation

- added status class
- added default ping timeout so unavailable regions don't hang program
- replaced task classes with callable objects
- update option and config names to include units
- created timed and transfer runners for callable objects
- return results in preparation for reporting results
- greatly reduce the number of threads used
- added options to skip download, upload and ping tests
- moved region loading and parsing from config to region
- disable SIGALRM for the standard name resolver as it breaks request timeouts

Change-Id: I48f14cea855ce2d92b9ee8a521ad9fd086bd9ff4
46 files changed