Extract assertions methods in its own module

This allow for cleaner syntax and it now extend the native assert module
in order to be a dropin replacement for `assert` for generators author.

Also added test and refactor assert.implement to be more reliable.

Basically, this makes so `yeoman.helpers.assertFile()` become `yeoman.assert.file()`.

And now generator author would do:

```
var assert = require('yeoman-generator').assert;
```

instead of having the assert module + the yeoman assert helpers.