Bug 649142 - Part 1: Add macros and flags for defining logical properties and don't allocate storage for them in nsRuleData. r=dbaron

We define a new flag CSS_PROPERTY_LOGICAL to be used for logical longhand
properties and a new CSS_PROP_LOGICAL macro in nsCSSPropList.h to
define them.

When using CSS_PROP to capture all properties, includers must now
explicitly indicate whether logical properties are included or not,
by defining CSS_PROP_LIST_EXCLUDE_LOGICAL (to exclude them),
CSS_PROP_LIST_INCLUDE_LOGICAL (to include them), or CSS_PROP_LOGICAL
(to capture them separately from other properties).
Bug 649142 - Part 2: Convert logical properties to their physical equivalents during the cascade. r=dbaron

We will add cases to EnsurePhysicalProperty's switch statement as we
convert the existing shorthand-implemented logical properties to the
new, CSS_PROPERTY_LOGICAL-bearing properties.
Bug 649142 - Part 2.1: Test that logical properties in property_database.js are longhands. r=dbaron
Bug 649142 - Part 3: Convert logical padding properties. r=dbaron

Here we convert the logical padding properties into their new resolved-at-
cascade-time implementations.  This involves:

* converting -moz-padding-{start,end} into logical longhand properties
* adding padding-inline-{start,end} aliases for -moz-padding-{start,end}
* converting padding-{left,right} into longhand properties
* removing padding-{left,right}-value and
  padding-{left,right}-{ltr,rtl}-source internal properties

The CSS parser and various tests are simplified a bit as a result.
Bug 649142 - Part 4: Convert logical margin properties. r=dbaron
Bug 649142 - Part 5: Convert logical border properties. r=dbaron
Bug 649142 - Part 6: Remove support for shorthand-implemented logical properties. r=dbaron

This includes removing:

* the box property directional source constants
* the CSS_PROPERTY_DIRECTIONAL_SOURCE property flag
* the CSS_PROPERTY_REPORT_OTHER_NAME property flag
* nsCSSProps::OtherNameFor
* methods on the CSS parser to parse directional box properties and set
  the old *-source and *-value properties
* the resolution of logical and physical properties in nsRuleNode during
  style computation, since that's now done as part of the cascade in
  nsCSSExpandedDataBlock::MapRuleInfoInto
Bug 649142 - Part 7: Move CSS_PROPERTY_LOGICAL up into one of the earlier free bits. r=dbaron
Bug 649142 - Part 8: Tests. r=dbaron