Chai plugins: extract each plugin in its own file

The test/helpers/chai-plugins.js was getting too big, and so it’s test file.
Chai plugin: implement()
UserAuthenticationUseCase test: cleanup

- less stubbing
- less intimacy with the production code
- take advantage of the new expect().to.implement() Chai plugin
UserRegistrationUseCase test: cleanup

Less stubbing.
make: build directory is needed for html
MockUser*UseCase: cleanup
Tests: refactor to use expect(instance).to.implement(interface)
LoggerInterface: added toString() to make it look nice test failure messages
Tests: minor tweaks
Rename XO.MockLogger to XO.DummyLogger and make it one
Rename MockUserAuthenticationUseCase to DummyUserAuthenticationUseCase
Rename MockUserRegistrationUseCase to DummyUserRegistrationUseCase