Add code to flatten a BulletML structure

Removes all *Ref elements with concrete objects with all parameters
replaced.

100% untested.
Export the Value alias
Allow context-less expression evaluation
Remove parameter evaluation

They're meant to be replaced with other expressions.
Minor whitespace nit
Hodgepodge of the actual bulletml engine