Add ability to pre-process contents

There might be a time when you want to massage the contents being index
prior to indexing. For example striping HTML tags. Add a `preprocess`
call back option to handle this. The callback will be passed the
contents of the file as a string as the forst argument nd the actual
file object as the `this` context.