improving function declaration syntax.

*also* semicolons are no longer required, which I see as a good thing.
one hitch: no semicolons allows for declaring identifiers multiple
times on the same line, which is weird. the temporary solution is
disallowing declarations as statements, and only allowing assignments.
one side effect this creates is that all declared identifiers must be
initialized.