Major bug fixes and locking clean-ups.

- Added locking around unprotected map in the ThreadPool class that
  was causing the server to crash.
- Fixed major bug in HSTable closing/flushing: the call to OpenNewFile()
  in WriteOrdersAndFlushFile() must be made *after* the call to
  FlushCurrentFile().
- Added method to perform basic checks on EntryHeader based on the size
  of its data compared to the HSTable it comes from.
- Added check on EntryHeader size in the GetEntry() method of the
  Storage Engine.
- Removed mutex_index_ in the Storage Engine as it was not necessary,
  and added lock throttling of the index when merging updates into
  the Storage Engine index.
- Changed the hard locking on mutex_flush_level2_ in
  WriteBuffer::WriteChunk() for a soft locking, try_lock(). This will
  help prevent the writers from hanging when the lock cannot be acquired.
- Changed the filesize for the Mmap() class to be int64_t, which will be
  important to handle large entries.
- Made all logging methods thread-locked again.
- Updated the Makefile so that the debugging configurations can be
  triggered with 'make debug'.