Break down search unit tests + a couple of fixes

This pull request contains:
 - Search tests have been broken down a bit
 - A fix for an issue with the Query.hits function. If there were no hits this function previously returned None. It now returns 0.
 - Added a "live" boolean field to the SearchTest model. This is used for testing search filters. This change requires a migration.