Refactor Makefiles and test execution

- holumbusMemBench takes a path to a testset instead of an index
  to choose from a preconfigured set now (infers type from file ext.)
- add bench Makefile
  - 'install-first' removes everything and forces everything to be
    installed, which is required when installing for the first time
    (cabal hell with binary package that includes ShortByteString)
  - 'bench-{dataset}-{index' tests {dataset} with {index}
    dataset=fb|fbb|rd|rdd
      (fb=FussballSprueche.js, rd=random.js, *b = binary import of *)
    index=0-4
  - 'bench' tests all indexes with the random dataset
- the main Makefile can pass down commands with
  make membench-{target}
- test files are generated if they are missing
  (RandomData.js and .bin files)
- 'benchmark[1-2]' rnamed to benchmark-(ab|siege)
- RandomData.js will only be generated if nonexistent.
  'generateRandom' can be used to force generation
- profiling for server/searchengine can be enabled with PROF=1
Add server profiling script and target

- 'make profserver' to start server with profiling script and ctrl-c
  to stop and generate the profiling data
- 'make profserver-(fb|rd)' to start, insert the data (fb or rd) and
  stop automatically
Use ShortByteString in bzip Document compression

This fixes some memory issues.
Remove some RTS opts which reduces the memory usage
Remove ByteString.copy from Compression modules (speedup + less memory)

This speeds up inserting documents significantly and reduces the
the memory footprint even further.
Makefile refactoring
Make profiling default - use 'make ... PROF=0' to disable