Feature/issue 193 (reserve function names)

I added function names to the list of reserved words which can't be used for variables.  

* constants are exempted --- they can't cause conflicts by being applied to themselves

* tests for parsability of constant functions (e.g., ```e()```) as variables plus non-parsability using function name

* this catches all the "hidden" functions used to compile operators;  the compiler uses their declarations to check args and calculate return results

* updated doc to explain you can't use functions, with examples