Expose expandL/S and contractL/S from MultiDim

These functions are overloaded differently than expand and contract and
they're useful in certain situations to help guide the type checker as to
what type of vector one wants.
Generalize the types of (++) and (+=+) in MultiDim
Add function value1 to MultDim

This function is similar to 'value' but is a special case for one dimensional
vectors where we don't have to pass the dimensionality.