Refactor resources

I loves me some refactoring.

Now, unless Riot implements some special case (knock on wood), calls `endpoint_precursor`, `@connection.` and `.body` should stay in `Base`.