Update peripheral pin mapping to map SCK as IN/OUT

Per the datasheet on the chip, you must map SCK as both an input
and an output.  I don't think this has caused any issues so far
but it's better to comply with the spec than not to.
Update performance counting module to keep min, max, count and avg

Average is an exponentially filtered running average over an 8
element window so it should converge to the average runtime of
the last 8 or so profiling event.

Support for this has been added to the momo tool.  Just use
```shell
> momo controller perf_counter <NUMBER>
```