Basic conversion from DUALTree to a simpler tree type.

The idea is that we can now do optimization passes on these simpler
trees, and ultimately hand them off to backends.
travis: depend on internal-d branch of dual-tree.

Remember to remove this before merging into master, or once we have
released a new dual-tree with the internal-d branch merged.
added primList
added RTree with separate frozen and unfrozend transforms
removed RUnfrozen nodes and added more documentation
D.C.Compile: bug fix: act on styles when pushing transforms past them down the tree

Transformations implicitly have an action on everything below them in
a tree.  So when pushing a transformation down past a style node in a
tree we have to also use the transform to act on the style.  Right now
the only transformable attribute we have is clipping paths, so this
only showed up as a bug in certain cases when clipping was involved.
Experimental Backend typeclass definition
reworked backend to work with both RTrees and flattend DUALTrees
Merge branch 'master' into backend-tree

Conflicts:
	.travis.yml
	diagrams-core.cabal
D.Core.Types: fix warnings
fix warnings
export new toRTree function, and rename toTree -> toDTree
fix warnings
work around strange Haddock parse error
improve comments
don't export [DR]{Node,Tree} from Diagrams.Core
D.Core.Compile: export RNode and RTree, and add comments
D.Core.Types: comment fixes
Merge pull request #46 from diagrams/backend-tree

Trees for backends