DM-191: Measure and save aperture corrections in SFM

https://jira.lsstcorp.org/browse/DM-191
I think of `LogicError` as also encompassing things like configuration errors, or even trying to run an algorithm that needs e.g. a Psf on an Exposure that doesn't have one.  Clearly, having some documentation for when different exceptions should be used would be very nice, so we can be consistent about things like this (and maybe come up with a better set of exception classes).