Adds 'inner_encoding' to ArrayType

Adds 'inner_encoding' attribute to ArrayType parameter type.  The attribute enables outbound (retrieval) conversion of the stored object-array into an ndarray who's datatype is indicated by inner_encoding.  Object and String data types are not converted.  If inner_encoding is None, the array is NOT converted,  this is the default.

Verified only for single-nested arrays (i.e. result in a 2d array).

Adds ArrayType with inner_encoding to Parameter Value Interop tests
Fixes bug in parameter_values._cleanse_value

Addresses loophole for handling numpy arrays with ndim==0

Updates tests for ArrayType
Merge pull request #76 from blazetopher/atype_inenc

Adds 'inner_encoding' to ArrayType
Adds support for ArrayType in SparseConstantType

Adds the ability to have SparseConstantType utilize ArrayType as it's base_type

Moves application of inner_encoding of ArrayType to classmethod ArrayType._apply_inner_encoding

Updates test_sparse_constant_value_interop