Indexable callback refactoring, implemented callback in Provider

The provider was not respecting the indexable callback, meaning that if you do a populate you end up with objects that should not be indexed in your indexes.

I have moved the callback checking out to a new service, `fos_elastica.indexable` (I couldnt think of a better name) which is used for both the Doctrine Listener and the AbstractProvider.

Documentation will need to be updated, but please review my changes.