Base implementation

- [ ] Registration (with csrf)
- [ ] Authentication (with csrf)
- [ ] Optional account activation (Using `Roave\NonceUtility && Roave\EmailTemplates` )
I suggest `private` where possible.