Refactor

- auto generate notes based on test 'it' description
- use class instances instead of singleton
- threadsafe
- generate one doc file per test file
- better template example
The way it would work with this pull request would be to put it in a `teardown` or `after` block. It does lose the ability in that case to skip the documentation though. You can still customize the note since by default, it uses the test name as a note. I fount myself often copying the test name as a note.
```
test "login user with bad password" do
  ...
end

 after do
    DocYoSelf.new(self)
 end
 #note would be "login user with bad password"
```
Do you use `skip` often in your projects?