Added direct attribute and used $parse for event handling

I added a direct attribute to be able to prevent the need for modifier keys. E.g.

```html
<ul ng-tree="model" multiple direct>
```

will always use multiple selection

Furthermore, the `$event` is now sent along with the `select` handler. This way, one can do

```html
<ul ng-tree="model">
    <li select="selected($event)">{{item.name}}</li>
</ul>
```

```javascript
$scope.selected = function (e) {
    console.log(this.item.name + ' is selected: ' + this.$selected);
    console.log('event',e);
};
```