[#77] Add tanker callbacks to guide_step
[#77] Run migration to remove status from article.
[#77] Unpublished search results filtered at a higher level.
[#77] Refactor article callbacks into RailsNlp module.

* qm_after_create et al have been renamed to better reveal intention.
* Re-indexing has a lower priority than analysing, so happens after.
[#77] Update rake admin:analysmodels task to use new module.
[#77] DelayedJob handover in Article, not RailsNlp.

DelayedJob is an implementation detail of the app; the rails_nlp library
should not be concerned with it.
[#77] RailsNlp specs pass.
[#77] Run the lib specs with the app specs.
[#77] Log the full stack trace in ErrorService (all environments).
[#77] Fix '' + nil exception on #collect_text
[#77] Remove non-useful exception handling.
[#77] Add error handling for model.instance_eval(field).
[#77] Access counts are incremented synchronously.

Undoing premature optimization.
[#77] Remove category.name from the list of analysed fields.

Analysis of associations should be implemented with a bit more thought.
Analysing the name of the category for articles does not give
significantly better search results, so can be safely removed.

This also allows us to model#send rather than model#instance_eval
[#77] Only analyse articles when relevant fields are updated.

* Prevents analysis when access_count is incremented.
* Prevents analysis when article saved with no changes.
[#77] Delete relevant cache key instead of blanket cache.clear
[#77] Rename rake admin:analysemodels task to rails_nlp:analyse_articles
Merge branch '77-fix-natural-language-search'