Functions: implement pi()

This function doesn't take parameters, which was not supported in the
grammar. I have changed the grammar (added a ?) and modified TermBuilder
to recognise the change and created EmptyExpression to represent the
lack of parameters.

The pi test is now returned to functions.less.