MB-12864: Add Breakpad crash reporting

Add Google's Breakpad project to memcached so fatal errors will
be easier to diagnose, with finer details of system status
nearer to the time of the fatal error than is currently accessible.

- Support for Linux platforms and Windows.

- Adam Taylor's <adam.taylor@couchbase.com> Windows code is
  included, with minor alterations.

- Feature flags ensure memcached can still build without breakpad.

Google Breakpad available at https://code.google.com/p/google-breakpad/

Change-Id: I00de005b96dbd8517192aa26b1cbd5b9e464e9bf
Reviewed-on: http://review.couchbase.org/43708
Reviewed-by: David Haikney <david.haikney@couchbase.com>
Tested-by: buildbot <build@couchbase.com>
Revert "MB-12864: Add Breakpad crash reporting"

This reverts commit 969ead4386b05972aea0bba04bddd98bcacf80cf.

Reverted as it broke the debian7 Sherlock builder - see http://factory.couchbase.com/job/sherlock-debian/96/changes

Change-Id: Id529f4fcd63252e2f9d222a67c40e3f7e27927fe
Reviewed-on: http://review.couchbase.org/44430
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Dave Rigby <daver@couchbase.com>
MB-12864: Add Breakpad crash reporting

Add Google's Breakpad project to memcached so fatal errors will
be easier to diagnose, with finer details of system status
nearer to the time of the fatal error than is currently accessible.

- Support for Linux platforms and Windows.

- Mark Woosey's <mark.woosey@couchbase.com> Linux code is
  included, with minor alterations.

- Feature flags ensure memcached can still build without breakpad.

Google Breakpad available at https://code.google.com/p/google-breakpad/

N.B. Breakpad's libraries aren't currently committed and will
require building (and are to be added at a later point).

(This is a re-submit of commit 969ead which caused a build failure
that has been resolved with the following tlm change:
http://review.couchbase.org/#/c/44475/ )

Change-Id: Icba93b8ef7beeeccdb66ce81218cbb1338177bb7
Reviewed-on: http://review.couchbase.org/44476
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>
MB-10788: Return vbucket uuid and sequence number to mutations

Return the vbucket uuid and sequence number for a store mutation
in case mutation extras is enabled

Change-Id: I41d7f6a534bd2935f029e914016d98fae3161d7e
Reviewed-on: http://review.couchbase.org/44368
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: buildbot <build@couchbase.com>
Refactor: Simplified implementation of HELLO command

The old implementation had a lot of duplication of the logic
which would increase the amount of work when fixing bugs.

Change-Id: Ic1864e4020e753faa6f4a24adef7331db157f8b1
Reviewed-on: http://review.couchbase.org/44500
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>
Merge remote-tracking branch 'couchbase/master'

* couchbase/master:
  Refactor: Simplified implementation of HELLO command
  MB-10788: Return vbucket uuid and sequence number to mutations
  MB-12864: Add Breakpad crash reporting
  Revert "MB-12864: Add Breakpad crash reporting"
  MB-12864: Add Breakpad crash reporting

Change-Id: I5d2245ffbd20943098a740adf80f86ff24c08e6d