[ANALYZER-2098] When dimension is used as Multi-chart level it damages sort order of child chart.
Multiple changes,
* [FIX](protovis NPE) occurring on mouse over of lines and areas with invisible scenes.
* [FIX](pvc.options) Fixed some issues in the handling of default and nully values. The static default value is now applied if a non-null value isn't specified. Added constructor option to OptionsBase to allow not registering the V1 resolver.
* [FIX](MetricPoint) a bug in the content paddings determination, for when the size role is not used.

* [FEAT](pvc.data.GroupingOper Ordering) Null preservation until just before the glass allows preserving datum source order.
** When the chart's global `ignoreNulls` option is true, the default, datums aren't discarded during the translation phase anymore.
** The `isNull` filtering of datums is now performed the latest possible, during the grouping operation. This way, null datums can affect the ordering of groups with non-null datums.
** As by pvc.data.GroupingDimensionSpec#compareDatums, _when the dimension is not comparable_, the ordering is now based on the _datum source order_.
* [FEAT](def.ascending def.descending) Synonyms for def.compare and def.compareReverse.
* [FEAT](pvc.castPositiveNumber pvc.Sides.to) Two new utility methods to help parse options.
* [FEAT](pvc.data.Data#where) the where operation now returns a linked data that also remembers filters specified by the keyArgs argument. Also, data add operations now will take that filter into account when distributing new datums to linked datas.
* [FEAT](pvc.data.Data#firstAtoms) new method that returns the atoms of the first datum, if one exists, or the atoms of the data, if not.

* [CHG](Interpolation Trending)
** These used to be performed in the context of each small-chart, and implied creating each small-chart first. New datums resulting from these operations would be added to the root data and redistributed amongst the linked datas.
** This caused problems in the generation of the legend panel -- a root chart's panel -- cause it is created before the small charts. Complex logic managed to get the newly created trend datums in time for feeding the legend's scenes and layout.
** Interpolation and trending are now performed at the root chart, for each of the datas of the to exist small charts, and before the creation of any panel.
** Had to change the `BaseChart`'s `#partData` and `#visibleData` to support being called on arbitrary base datas. The caching of these also had to start taking into account the base data.
** Added `#_interpolatable` and `#_trendable`properties to `pvc.BaseChart` class to allow not wasting time with these features when a chart class doesn't even support them.
** [BRK](pvc.data.Datum#trendType) was removed, in favor of the a `trend` property, that contains the trend options object that resulted in generating the datum.

* [REF](Axis Scales DataCells) Refactored the scales creation code.
** [FIX] Fixed some bugs along the way, like #_getContinuousVisibleExtentConstrained not testing if `OriginIsZero`, `FixedMin` and `FixedMax` options are defined in the specified axis, or not taking the axis' #sacaleUsesAbs into account on the `FixedMin/Max` options.
** Discrete axes/scales code is now a bit more centralized.
** Color axes/scales are still separate beasts, but are now a bit closer to the common concept.
** Logic for obtaining discrete domainData, that was in the `DataCell` classes, moved to the Axis classes. Changed the existing DataCell classes to only specialize when they store additional information, but themselves, currently have no behavior.
** The new axis option, Axis#scaleSumNormalized, satisfies the new `AngleAxis` class, in turn created to provide an axis to the PiePlot.
** Completely moved the creation of data cells to corresponding plot classes, finishing a move started some time ago. Still less code in the chart classes. We'll get to almost none someday.
** Setting scales for axes is now done centrally, eliminating a bunch of repetitive code. Yet a bit less code in the specific chart classes.

* [CHG](Multi & Small Charts)
** Created two options classes, `pvc.visual.MultiChart` & `pvc.visual.SmallChart` to take the options parsing logic out of `pvc.MultiChartPanel`
** Most of the code in `pvc.MultiChartPanel#createSmallCharts` moved to `pvc.BaseChart#_initMultiCharts`, allowing to perform the basic multi-charts initialization in the root chart.

* [PERF](pvc.data.TrendDatum pvc.data.InterpolationDatum) Two new Datum derived classes, to avoid creating properties in the datums outside of the constructor.