Basic instrument and dashboard support

This is just @sargun 's code. instruments was #29 but for some reason that got closed without being merged.

Seems useful to me, should be pulled in.

This probably needs tests, and some review to ensure the python API is sensible.