[WIP] Adding refresh_token to ROPC

This is currently a work in progress of adding refresh tokens to the ROPC flow. 

I thought I would open this now so I could start a discussion / get some feedback on this as I haven't worked with the oauth spec for long, and hopefully I have followed it correctly.

It should be in working order with tests passing, as well as being backwards compatible, missing things that I am aware of are: 
### Things Missing

- [ ] New tests covering this additional (optional) implementation
- [ ] Updated Documentation
- [ ] Updated Example