Remove exec::ExecutionObject as it is identical to FieldConstant.h

A Constant Field value is the same as an ExecutionObject, no need
to have another class doing the same logic.
Merge branch 'remove_exec_ExecutionObject'
Make exec::ArgBase to unify how to write execution arguments.

inherit from ArgBase and fill in the required methods, will
allow people to easily write new exec arguments that fulfill the
requirements for execution args and not create false sharing problems.
Extend CollectCount test to verify CellDomain.
WorkletInterpolatedCell domain should be PermutedCell.

We need to define the domain to be PermutedCell so that if a user
ask for cell fields as part of the worklet signature they get
the correct values.
Merge branch 'fix-permuted-cell-fields'
Merge branch 'remove_exec_ExecutionObject'

Conflicts:
	dax/cont/arg/ExecutionObject.h
Merge branch 'master' into Add_Exec_Arg_Base

Conflicts:
	dax/exec/arg/FieldMap.h
Fix warning.
Merge branch 'fix-permuted-cell-fields'
Merge branch 'master' into Add_Exec_Arg_Base
Update BindPermutedCellField to use ArgBase
Update BindCellPoints to use ArgBase.

Instead of having BindCellPoints using hand rolled code, we can
simplify the class by making it use ArgBase.
Field Portal now stores values it reads as a member variable.

I modified field portal to be like this in an attempt for it
to be a more like the rest of the classes that inherit from
ArgBase. I am concerned that all classes that are returning
values for reading should return by value though.

I will have to do some tests to see if this negatively effects
scaling performance.
Minor updates to remove unneeded typedefs and fix includes.
All major fields now return by value on read instead of by reference.

By returning by value instead of by reference we dramatically
reduce the amount of times we modify objects, which reduces the
amount of false sharing.
Add const correctness for reading from ArgBase derived classes.
Merge branch 'Add_Exec_Arg_Base'