Make 'camelcase' ignore trailing underscores.

This patch modifies 'camelcase' checks so that they ignore both leading and trailing underscores. For example:

    var _xxx = 5; // was ok
    var _xxx_ = 5; // used to give a warning, now ok
    var xxx_ = 5; // used to give a warning, now ok

The trailing underscores do not really break camelCase convention as they by definition will not be separating words.

In addition, this convention is used in AngularJS - see the documentation for dependency injection during tests at http://docs.angularjs.org/tutorial/step_05

References:

* Closes GH-1209