Simple Design Rule Check: no multiple drivers

Addresses but does not completely deal with #119.
The main purpose of these is to avoid passing around a `Schematic` to every method that needs these. However, it does kind of make sense to get them from the `Schematic` because that's the real owner. I'll get rid of this before I merge.