Lazy mode and streaming optimisations

This commit introduces several related changes and improvements:
* `NewLazyTargets` allows reading Targets lazily which enables streams of
  Targets to be piped into Attack.
* `NewTargets` has been renamed to `NewEagerTargets`.
* Accordingly, a `lazy` flag has been added to the command line utility.
* Attack now returns a chan *Result so Results can be streamed out.
* Accordingly, the attack command now pipes Results out as they arrive.
* `NewResults` concurrently decodes Results, aggregates, sorts them and
  then returns them as a slice to be used for reports.
* Removed `order` attack option as well as the associated library code.
  Randomizing the order of targets can be easily achieved outside of
  Vegeta.
* Removed the attached Encode, Decode and Sort methods on the Results
  type.
* Reduce amount of data copying.