Rule 'block-scoped-var': fixes function scope and arguments (fixes #832)

Just an observation, it's interesting that `block-scoped-var` looks like some "superset" for `no-undef` rule (except check global var is writable now), means valid and invalid cases for `no-undef` will be the same for `block-scoped-var`.