MirrorData API enhancements

/// <summary>
/// Returns ClassMirror if this data is an instance of a DesignScript
Class.
/// </summary>
public ClassMirror Class { get; }

/// <summary>
/// Gets the list of MirrorData if this data represents a collection,
/// else null.
/// </summary>
/// <returns>List of MirrorData represented by this data.</returns>
public List<MirrorData> GetElements();

/// <summary>
/// Gets the CLR object for all the value type or FFI objects, else null
/// </summary>
public object Data { get; }

/// <summary>
/// Gets if this data points to null.
/// </summary>
public bool IsNull { get; }

/// <summary>
/// Gets if this data points to a collection.
/// </summary>
public bool IsCollection { get; }