Adding a proposal for functions

This PR adds a functions proposal including the new syntax, built-in functions, and test cases.