Add controller actions (with pipes)

This pull request allows users to write frenetic applications that will send packets to the controller, using the following syntax:

```
port := <id>
```

Rather than setting the port to a number, users can set the port to an identifier, indicating that the packet should be sent to the controller and when processed, be associated with that identifier.

Closes #246.