Extract log and logError

* Extract `sinon.log` and `sinon.logError` to a separate file
* Add tests for `sinon.log` and `sinon.logError`
* Fix #381 by storing a reference to the original `setTimeout`, so we can still throw exceptions when used with fake timers.