Clearpathrobotics timespec refactor

This is a bit of pull request inception. If you merge this then it will update your pull request against my repository.

I moved the functions back into `unix.cc`.

I also touched on some style things (I know the whole serial is not consistent with style, but this is what I would like to use for now).

I also used pass by reference in a few places where it wasn't being used previously.

We can iterate on my changes here before merging into your pull request.