Io

Addresses #201. The problem with the old style was that one posed claims on the port names (one IO device has many read or/and write ports) which is too restricting and special devices can be derived from the base ones if some port mapping is needed. Or one can just name their ports appropriately, like this:

```python

from concert.devices.io.dummy import IO

dev = IO()
busy = 0

if dev.read_port(busy):
    # Do something awesome
```

For special experiments the meaning of a port can be fixed and one can install the e.g. `busy` port in the device and use it as follows:

```python

dev = MySpecialIO()

if dev.busy:
    # Do something even better
```