Allow 'subr' as a synonym for 'func'

Eventually, 'subr' will be for subroutines that may have effects and 'func'
will be for pure functions. For now, functions are all still the same but you
can use the 'subr' keyword to mark functions that are not pure.