Avatars Refactoring

This PR does 3 things that are all slightly related:

1. Allow custom avatar handling via the new `avatar_url` option. Removed `avatar_default` option in favour of setting the default directly via `avatar_url`.
2. Remove `thredded_posts.user_email` column, adding robustness with regards to user email change. Avatars are no longer shown for `NullUser`.
3. Duplicate code from `(Private)UserTopicDecorator` extracted to `BaseUserTopicDecorator`. I usually prefer composition over inheritance, but followed the pattern for the other decorators here.

:tada: 
---
It also has 2 tiny unrelated changes: removes spec/dummy/db/schema.rb, and adds `.includes(:postable)` to `TopicsController#index` (not so sure about this one but [Bullet](https://github.com/flyerhzm/bullet) was warning me).
How about we link to the usage section of the gravtastic gem so people can hop over there easily to see what and how things can be customized.

```
# User avatar URL. Thredded uses Gravatar via the gravtastic gem by default. 
Visit the [gravtastic project](https://github.com/chrislloyd/gravtastic#usage) 
for further instructions on how to customize.
```