Adding one universal logger - everything goes through winston.

* Add a file transport
* Add a statsd transport
* Add a heka transport

All logging except for cef logging goes through these. statsd stats go through these.
Add a stats.setupMiddleware function to reduce duplicate code in each of the processes.
start moving items into the logging directory

* custom_logger
* cef_logger
* metrics
* logging

update the tests for the file change locations
Update metrics to go through winston.
Update how statsd messages are done.

* Revert changes that removed statsd.increment and replaced it with a logging message.
* In statsd.js, trigger winston messages with the statsd. prefix.
* In winston-statsd, listen for statsd. messages, and do the right thing.
* Try to get the host/port out of statsdConfig, not statsdOptions
Split off writing to cef (winston-cef) from the cef_logger interface
Add a heka winston transport
hook up a rabbitmq winston transport.
Create a KPI transport that uses a TCP connection to shuttle metrics to the KPI store.
Move all the transports to the transports directory

* Make sure the metrics logs are written in the same format as before.
update lockdown for current installs
Manual merge of #3893 - update winston to 0.7.2 to work with node v0.10.18.

From commit 22d26c440ba74ac2103072cf8dd064a4bde842b9
remove the heka and rabbit transports until needed
Get rid of the cef transport until we can figure out how to correctly test it.
KPI and statsd should log everything.
Add tests for kpi_data.js->store

* Add metrics->kpiggybank config options.
* Add an HttpMock so no requests are made to a kpiggybank.
* Add basic tests for store to make sure no blowups occur and data is sent.
* Add basic tests to make sure metrics are sent to kpiggybank in batches.
* Clean up the kpi_data.js module.
Renaming and cleanup.

* Rename the transport filenames to be more descriptive
* Rename the transports that were called *Logger to *Transport
* Clean up the statsd code
* use `const` for every include
Replace calls to metrics.report with calls to logger.info

* Let the metrics transport pull out events it is interested in.
* Add a metricsMiddleware that logs `/sign_in` requests.
* Split off the metrics message filter into its own file to be shared across metrics transports.
Move statsd logging over to use the winston logger bus.

* Listen for various timing and increment messages and do the right thing.
* Add a statsd mock for testing.
* No longer call statsd.*, ship all messages over Winston.
Cleanup the metrics and statsd middlewares.

* Get rid of metrics.report. Update tests to use listened for messages.
* Move logging middleware related functionality to logging/middleware
* formatting