Param type updates

Updates to parameter_type and parameter_value including:

- ability for ArrayType to be the base_type in SparseConstantType
  - _apply_inner_encoding classmethod permits appropriate expression of ArrayType from enclosing classes
- improved fill_value and value_encoding verification