Remove a junk todo. Whoops.
Parser: Simplify function parsing a bit.
Fix functions inheriting generics (recently broken). Test added.

If a function defines some number of generics, and a function inside of it
does not, then the inner function "inherits" the number of generics. This
allows calling an inner function with generic parameters but without being
extra verbose about it.

Example:
    function f[A]() {    function g(A value) {    }    }

Test added to pre-commit-hook.py so this won't come back.