Merge pull request #81 from dcleao/master

[CLEANUP] JSHinting the code.
[ANALYZER-2391] - Data format is only applied to outer ring values in Sunburst chart
* Moving the test files into a new subdirectory "pvc" so that it follows the exact same directory structure as "package-res" and "def" can tested.
[ANALYZER-2391] - Data format is only applied to outer ring values in Sunburst chart
A set of supporting additions to "def.js":
* new def.array.empty predicate
* slightly updated the implementation of the safe factory pattern "def.shared". Added the "property" method.
* added functions to support a convention around the class concept (def.classify, def.classOf, def.is, def.as)
* added functions to support a convention around the factory concept (def.factoryArgsConfig, def.factoryArgsProto)
* added functions to support creating factory-like classes, with priviliged accessors, and instance-prototype support (def.instance ... def.accessor).
* added functions to support a object configuration convention (def.configure, def.configureGeneric, def.configureSetters).
* some JSDocs still missing + direct unit tests
[ANALYZER-2391] - Data format is only applied to outer ring values in Sunburst chart
* moved the pvc.numberFormat.js file to a "format" folder, under "pvc".
* moved the numberFormatStyle code to its own file.
* also moved the corresponding test file.
* added the basic dateFormat class that wraps protovis' pv.Format.date
* added the "pvc.FormatProvider" class, created using pvc.format that aggregates the number, percent and date formats
* added unit tests for the new classes
* JsDocs are still a bit behind with the latest changes
[ANALYZER-2391] - Data format is only applied to outer ring values in Sunburst chart
* Updated html example files to include the new source script files
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.
Merge pull request #83 from dcleao/ANALYZER-2391

[ANALYZER-2391] - Integration of format provider with charts and dimensions
[ANALYZER-2391] - Data format is only applied to outer ring values in Sunburst chart
* Missing customFormat.js file.
Merge pull request #84 from dcleao/ANALYZER-2391

[ANALYZER-2391] - Data format is only applied to outer ring values in Sunburst chart
[ANALYZER-2391] - Data format is only applied to outer ring values in Sunburst chart
* Missing customFormat-spec.js file.
* Fix to def.instanceFields; cannot inherit from an instance of a different class.
* Fix to DimensionType constructor not receiving or handling the formatProto to inherit its format provider from.
* Improvements to pvc.BaseChart#loadData method so that it works better in situations where there is no data to load. This is used in the unit tests.
* Added pvc.BaseChart#format accessor (could/should probably patternize the accessor code, and create a helper for it; maybe it two of the kind are used)
* Some unit tests for the chart and dimension type options configuration.
[ANALYZER-2391] - Data format is only applied to outer ring values in Sunburst chart
* Format options documentation.
[ANALYZER-2391] - Data format is only applied to outer ring values in Sunburst chart
* Changing the currency mask character from "$" to "¤" (known as the currency symbol).
[ANALYZER-2391] - Data format is only applied to outer ring values in Sunburst chart
* Synchronising the JSDocs with the XML Docs
[ANALYZER-2391] - Data format is only applied to outer ring values in Sunburst chart
* In def.'s, fix for not letting the "set to null" operation clear the local value when there is no prototype instance. This prevents clearing the defaults objects' values.
Merge pull request #85 from dcleao/ANALYZER-2391

[ANALYZER-2391] - Chart integration unit tests, options documentation and currency symbol change.
[CDF-277] - CCC - in an area chart, a mousemove extension point with hoverable and tooltip enabled throws an error
* Updated protovis, to fix the pv.Area#getEventHandler method which was not taking into account that handlers may be functions or arrays of functions.
Merge pull request #86 from dcleao/CDF-277

[CDF-277] - CCC - in an area chart, a mousemove extension point with hoverable and tooltip enabled throws an error