Don't allow index and type to be overridden

Prevents people from searching other instances and types though the
search API.
Always run the toJSON filter

Even if the fields configuration is missing we want to run the filter so
"internal" fields that start with an underscore are removed before the
document is indexed.
Keep track of how many documents have been reindexed

When running the `reIndex` method, keep track of how many documents have
been indexed and return it to the callback.