feat($parse): Custom private field tagging

Commit 3d6a89e introduced the concept of private field that can not be evaluated on an Angular expression for security reasons.

This PR allows changing the pattern that matches a field as private. It also allows disabling the private field access restriction.

Some examples:
```js
myModule.config(function($parseProvider) {
  // disable private fields restriction
  $parseProvider.restrictFieldsMatching(null);
});
```


```js
myModule.config(function($parseProvider) {
  // Now private fields will be those beginning with 'priv'
  $parseProvider.restrictFieldsMatching(/^priv/);
});
```

Custom private fields allow backwards compatibility with AngularJS <1.2 projects that use underscores in scope fields (i.e. data retrieved from a MongoDB instance) while still enjoying the new private field security policy.

Closes #4509