Refactor common log

I've refactored the common log component by 
- Removing the DefaultCommonLogger, instead just make the default logger stdout if one is not supplied
- adding tests
- removing flags.

@maz I'm trying to understand what you're trying to achieve with the flags. I'm not completely opposed to them, I would just think that there would be better ways to achieve the same thing?

For `UseXForwardedAddress`, wouldn't it be better to have a decorator handler which wrote the correct string to RemoteAddr ?

For `StripURLQuery`, I'm not sure I understand this either. Can you create a testcase?

Perhaps better way to handle different vars like this could be to make this a more general purpose  (not just Common Log) and allow you to specify a custom logging format? What do you think @maz