MB-12048: Upgrade mapreduce headers from 2.x to 3.0

The mapreduce index header change in Couchbase 3.0 due to the introduction
of DCP. The header now also contains the partition versions. As 2.x
headers don't have that information, `nil` is stored as a placeholder
whenever a 2.x header is parsed.

When the view group is created and it contains such a placeholder, the
partition versions are requested from the server. From then on the view
engine can proceed as usual. The next time the header is written to disk,
it will contain the correct information.

Change-Id: I2b3f1068613dd4a814b7479b4a36cb48dd6eb19e
Reviewed-on: http://review.couchbase.org/40914
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Sarath Lakshman <sarath@couchbase.com>
Reviewed-by: Sriram Melkote <siri@couchbase.com>