Remove old unused text search module

Long since been replaced by the proper search index.
Split out a server env init function

For easier ad-hoc testing/debugging with ghci or test programs.
Split feature initialisation into an additional phase

The first phase of each feature initialisation is now dependent only
on the server env and not on the other features that the feature
depends on. The dependent features are supplied in the second phase.
This makes running them for test/debug purposes. The first phase is
typically the most expensive as that is when we load data from disk.
So the first phase being expensive and independent of all other
features opens the door to further parallelising the server startup.
Require new bytestring with perf bug fix for server startup

Loading the acid-state disk snapshots was running slowly due to the
crc16 impl in acid-state using lazy bytestring foldl' which -- it
turned out -- was implemented incorrectly (which as one of the authors
of the bytestring code is rather embarassing). So with the 8-year old
bytestring bug squashed, we just need to require the new version to get
a free speedup on loading large acid state snapshots.

This eliminates a stack use spike during server startup (one of the
larger data stores).
Update to more recent happstack-server
Improve the data storage for the download counts

Avoid loading too much data into memory at once
Fix the SafeCopy and migration instances for the build reports
Move startup logging to the features startup module