Release LevelDB 1.15

- switched from mmap based writing to simpler stdio based writing. Has a
  minor impact (0.5 microseconds) on microbenchmarks for asynchronous
  writes. Synchronous writes speed up from 30ms to 10ms on linux/ext4.
  Should be much more reliable on diverse platforms.
- compaction errors now immediately put the database into a read-only
  mode (until it is re-opened). As a downside, a disk going out of
  space and then space being created will require a re-open to recover
  from, whereas previously that would happen automatically. On the
  plus side, many corruption possibilities go away.
- force the DB to enter an error-state so that all future writes fail
  when a synchronous log write succeeds but the sync fails.
- repair now regenerates sstables that exhibit problems
- fix issue 218 - Use native memory barriers on OSX
- fix issue 212 - QNX build is broken
- fix build on iOS with xcode 5
- make tests compile and pass on windows
Release LevelDB 1.16

- Make Log::Reader not report a corruption when the last record in a
  log file is truncated.
- Fix issue 224: variable created but not utilized.
- Remove comment that referenced a removed feature.
Remove excessive warnings
Use armnod from ygor
Merge remote-tracking branch 'upstream/master'

* upstream/master:
  Release LevelDB 1.16
  Release LevelDB 1.15

Conflicts:
	Makefile
	build_detect_platform
	db/db_impl.cc
	db/db_impl.h
	db/db_test.cc
	db/repair.cc
	util/env_posix.cc
Fix a high CPU consumption spin loop.

We used (essentially) ticket-locks to synchronize writers.  The Linux
kernel scheduler didn't like this, and writes could see many ms of tight
spinning.  This would translate into really high CPU usage and really
low throughput.