Parse permissions from `data` key on states config to allow inheritance

Changes
------------
- Now allowing to define state permissions from the `data` key instead the actualy state object. Thus allowing children states to inherit permission restrictions
- Will still allow for now state permissions on the state object though this will be deprecated in version 1.0.0

Defining state permissions now allows:
```javascript
$stateProvider
  .state('bookmarks', {
    ...,
    data: {
      permissions: {...}
    }
  });
```

Which makes us capable of using inheritance from parent states like this:

```javascript
$stateProvider
  .state('bookmarks', {
    abstract: true,
    data: {
      permissions: {...}
    }
  })
  // This state will require permissions from parent state
  .state('bookmarks.index', {
  ...
  });
```