New:  Adding 'vars-on-top' rule (fixes #1148)

The point of the rule is to enforce variable declarations at the top of a function, not the top of a block, which is why the grandparent needs to be checked. Doing so makes it completely compatible with `block-scoped-var`.