Merge pull request #82 from dcleao/ANALYZER-2391

[ANALYZER-2391] - several changes
[ANALYZER-2391] - Data format is only applied to outer ring values in Sunburst chart
* Adding a new format type: pvc.CustomFormat, which wraps an arbitrary formatting function provided by the user.
* This allows providing proper format provider/format objects even when the user specifies custom formatting functions.
* The format provider now can handle setting custom formatters on its format properties (number, percent, date).
* Slightly changed the semantics of def.accessor specs.
  * The factory function is used to create a value of default type for a field, and is not used anymore to test if a value is of the type supported by the field;
    this effectively allows a field to have a type that is a union of types.
  * The cast function returning null now means that the value cannot be stored in the field (and no conversion exists). It can now also be applied to complex values.
[ANALYZER-2391] - Data format is only applied to outer ring values in Sunburst chart
* Adding the new format provider property "any", to hold formatting functions for data types not contemplated by the number, percent and date properties. This is then used by dimensions of data type "any" or "string".
[ANALYZER-2391] - Data format is only applied to outer ring values in Sunburst chart
* Using the new format provider concept for configuring and obtaining formatting info.
* The new chart-level "format" option allows to configure the chart's FormatProvider
* The existing dimension option "format" was upgraded to support a FormatProvider, or a configuration value of one.
* The existing "valueFormat" option now applies to all dimensions of "valueType" Number, and not only the ones of the "value" dimension group.
* Still needs options docs
* Still needs unit tests for the integration of format providers with charts and dimensions.