Bring CLI speedtest into line with the features on the HTML Sepedtest webpage

- implemented exponential moving average
- variable end condition basedon moving averages as per the Web page
- added a Task abstraction for running tests and other tasks
- added progress updates as an option
- full override options for all speedtest parameters

Change-Id: I1a4429993a7b4de9247e2654eca2c13ac5804769
39 files changed