Lazy mode and streaming optimisations

This commit introduces several related changes and improvements:
* `NewLazyTargeter` allows reading Targets lazily which enables streams of
  Targets to be piped into Attack.
* `NewTargets` has been renamed to `NewEagerTargeter`.
* 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.
fix: attacker must close request body
Merge pull request #73 from Mistobaan/lazy-stream

fix: attacker must close request body
Merge pull request #72 from tsenart/lazy-stream

Lazy mode and streaming optimisations
Add documentation for -lazy
Update README
README: Update #usage-library
Merge pull request #75 from proullon/readme

README: Update #usage-library
Update library example
Add Wait time to Metrics and include it in ReportText

Fixes #74
Implement functional options for Attacker
Update README
Merge pull request #79 from tsenart/func-opts

Implement functional options for Attacker
Remove unused test dir
Evolve Reporter type to an interface
Attack option: number of workers

In the context of a perpetual attack, where the duration of the attack
is set to a very long time, scheduling massive amounts of go-routines
isn't very efficient. This change set enables the specification of the
concurrency level of the attack by number of workers.
The default `0` matches the old behaviour of using one worker per hit
(request).
Handle signals in attack command
Update documentation of defaults
Implement collect command

This command concurrently reads multiple result streams and serializes
them into one output stream.
Merge collect and report cmds