expand logging to not be limited to strings

Previously, doing something like `this.log(true)` threw an error. Now it will behave more like console.log.

Also, I don't think the ctx check was really needed and in fact probably hurt more than it helped.
Just a technique I discovered at work recently and that I like a lot: `sinon.assert.calledOnce(this.spyerror.withArgs(42));` - I'm mostly sharing here, I don't mind if it is not changed.