Handle percentage margins.
A percentage margin (e.g. "50%") is used to specify a percentage of the parent style's margin.
Added tests to check handling of percentage margin values.
Merge pull request #726 from fancycode/margin_100percent

Handle `margin="100%"`.
Fix setUnfilteredPosition to escape child text nodes of rejected parents

setUnfilteredPosition was incorrectly leaving the walker's currentNode
inside a rejected parent if the target node was a TEXT_NODE. Adjusted
branching logic to ensure the walker always moves to a valid position
if the specified position is not accepted by the current filters.

Fixes #797
Merge pull request #798 from peitschie/no-step-found

Fix setUnfilteredPosition to escape child text nodes of rejected parents
Add UI buttons for list creation
Add list controller and responding to cursor events
Add support for session constraints to list controller
Add unstable flags for the list editing feature
Operations for adding and removing lists

These operations work on the level of top level lists only

Added tests for the new operations and changed the op test code to parse
any op parameter containing "length" or "position" in the name as an integer
Operational transforms for adding and removing lists

This handles transforms between Add/Remove list and other operations that
modify the number of steps in the document. There are some unresolved
conflicts with merging paragraphs and adding lists that return null as the
transform result which required merge and split operations on lists to be
resolved correctly.

Added tests for the new parts of the op transform matrix and changed the
op transform test code to parse any op parameter containing "length" or
"position" in the name as an integer.
Default styles for numbered and bulleted lists
Operations for merging and splitting lists