Don't modify Objects in Builder (rebased)

I rebased #276 to master and reviewed it in some detail. It looks good to me, but I'd like someone else to +1 it before merging!

To help the lucky "someone else" who reviews this, I broke up @arvoelke's commit into 3 commits with descriptive commit messages.

The only differences between the endpoint of this PR and the endpoint of #276 are the two things discussed in that thread:

- Removed `dt` and `sample_rate` from `Probe` class
- Things that were in `utils.py` put back in `builder` and `objects`. Having them in `utils.py` causes an import error. I think these things can be put somewhere in the `utils` package at some point, but it's not clear where right now.