NodeList triggers add/remove node events

Whenever a node is allocated to a role, or removed from it, the NodeList
triggers an appropriate event, passing along the role name, node id and
the node alias. This way, other UI components can listen and react to
these events.

Example usage would be:

```javascript
$('#element').on('nodeListNodeUnallocated', function(evt, data) {
  // do stuff here
});
```