Make Either<> use a configurable tag bit---APC can't use the low order bit

Summary: Some file-backed deserialization is broken in trunk because we're
trying to steal the low bit to tell if something is file-backed.  But the data
is only byte aligned.  Use the high bit instead.

Reviewed By: @swtaarrs, @mclarkelauer

Differential Revision: D1573026