Change the default value for innodb_log_compressed_pages to false

Summary:
Feature: 2012 InnoDB Compression

Logging these pages is a waste.  We don't want this to be enabled.

One caution here: If the zlib version used by innodb is changed, but
the running version is still the previous version, and the running
version crashes, it is *possible* crash recovery could fail.

When crash recovery uses a zlib version at all different than the
version used by the crashed instance, it is *possible* that a redone
compression could fail, where the original did not, because the new
zlib version compresses the same data to a slightly larger size.

Because of the nature of compression, this is even possible when
upgrading to a version of zlib which actually peforms overall better
compression than the previous version.

If this happens, mysql will fail to recover, since a page split can
not be safely triggered during crash recovery.

So, either the exact zlib version must be controlled between builds,
or these rare recovery failures must be accepted.  The cost of
logging these pages is quite high, so we consider this limitation to
be worthwhile.

This failure scenario can not happen if there was a clean shutdown.
This is only relevant to restarting crashed instances, or starting an
instance built via a hot backup too (XtraBackup).

Test Plan: mtr

Reviewers: inaam-rana, pivanof

Reviewed By: inaam-rana

CC: jtolmer, WebScaleSQL

Differential Revision: https://reviews.facebook.net/D17685
Add an option to disable deadlock checking in InnoDB

Summary:
Feature: Performance of locking subsystem

Deadlock detecion code can be expensive when a lots of threads
wait for the same lock i.e.: a hotspot scenario. At times, it is
much more efficient to disable deadlock detection code and rely
on innodb_lock_wait_timeout to rollback in case of deadlock.

This patch adds an option innodb_deadlock_detect (default TRUE)
to disable the deadlock detection code.

Test Plan: mtr

Reviewers: pivanof, steaphan, darnaut

Reviewed By: darnaut

CC: jtolmer, CalvinSun, WebScaleSQL

Differential Revision: https://reviews.facebook.net/D17679
os_event_wait_time_low(): wait time calculation is messed up

Summary:
Feature: Core logic error

This is a fix for upstream bug#72520

In os_event_wait_time_low() the logic to calculate abs_time
for wait is broken. The bug has been present at least since
5.5. It gets acutely sensitized when sub-second wait intervals
are passed. It is particularly relevant to us because the
page_cleaner thread will mostly request sub-second wait
intervals. This can potentially lead to a near tight loop
behaviour of page_cleaner with much less sleep then what we'd
actually expect.

Test Plan: mtr

Reviewers: pivanof, steaphan, darnaut

Reviewed By: pivanof

CC: jtolmer, CalvinSun, WebScaleSQL

Differential Revision: https://reviews.facebook.net/D18459