Remove KindOfNamedLocal from DataType enum

Reviewed By: @edwinsmith

Differential Revision: D1632828
Eliminate default cases in DataType switches in runtime/base

Reviewed By: @edwinsmith

Differential Revision: D1638294
Eliminate default cases in DataType switches in runtime/vm

Reviewed By: @edwinsmith

Differential Revision: D1638299
Eliminate default cases in DataType switches in compiler

Reviewed By: @edwinsmith

Differential Revision: D1640979
Eliminate default cases in DataType switches in ext

Reviewed By: @edwinsmith

Differential Revision: D1660924
Provide runtime option for udiffing the same two arrays

Summary: With non-normal (beyond specification) comparison callbacks for array diff
functions like `array_udiff`, we don't match PHP 5.x in the output. PHP 5.x
gives an empty array; we sometimes actuall have an element in the array.

I actually think our behavior is not wrong, per se because it clearly states
that comparison functions need to specified as returing -1, 0, 1 when comparing.
But to match PHP 5.x, we can provide a runtime option to help match behavior.

Fixes #3653

Reviewed By: @paulbiss

Differential Revision: D1660877

Signature: t1:1660877:1415215794:79f4f61ceb60fd0f34dd9b87a969e93e976e3756