Improvements to function, name and arguments

This commit is a first pass at adding a number of improvements to
functions and how they are detected.

Function declarations now have a higher granularity to expose the
function keyword, the name, the parenthesis, argument definitions, and
commas within the argument definitions.

I also added a new block type called jsFuncBlock which is unique from
jsBlock that defines a block region for function definitions.

This also ultimately differentiates function definitions from
jsFuncCall.
Setting jsFuncBlocks to be part of Function group

This has the added benefit of differentiating curly brackets from an
object definition (Noise) vs brackets declaring a function (Function).
Removing deprecated jsType groups
Adding `jsArgsObj` keyword

Adding `arguments`, linked to `Special` only within `jsFuncBlock`
Removing gratuitous HiLink groups

Removing various function properties as per the discussion here:
https://github.com/pangloss/vim-javascript/pull/102#issuecomment-22214422
Merge pull request #102 from amadeus/function-arguments

Improvements to function, name and arguments