Update method name for proper grammar.
Move Guice module setup to helper class.
Keep helper methods at the end, to make class read better.
Reformat code to shorten lines.
Pass Writer to serialize method, instead of to constructor of Serializer.

This makes much more sense.
Replace static methods with a new Module class.
Use @Named parameters for Serializers, to get rid of factory class.

Move classes and limit visibility to better follow Guice conventions.
Move BrowserTimeModule class out from guice package.

Next step in moving Guice Modules closer to the classes they bind.
Move browser modules into webdriver package.

This removes the need for a specific guice package.
SerializerFactory class is no longer needed.
Merge branch 'refs/heads/master' into dependency_injection_refactoring
Cleaner way to exclude TimingRuns when serializing, using an ExclusionStrategy.
Guice assisted inject dependency is no longer needed.
DRY up duplicated logic for getting BrowserTime version.
Merge branch 'refs/heads/master' into dependency_injection_refactoring

Conflicts:
	src/main/java/net/browsertime/tool/run/Main.java
	src/main/java/net/browsertime/tool/serializer/JsonSerializer.java
Extract main collect/serialize work into separate class, so dependencies can be injected.

This removes some additional logic from the Main class, so only one class (BrowserTime) needs to be provided by the Injector to bootstrap the app.
Minor code simplifications.
Time data collectors can now all run in isolation, i.e. not dependent on data from previous collectors.
Merge branch 'refs/heads/master' into dependency_injection_refactoring
SeleniumTimingRunner shouldn't know about specific TimingDataCollectors, inject them using Guice instead.