Extend component realize methods and addreses #184

Can now invoke realization to computational stage through Component's public (non-virtual) interface.
Virtual realize methods renamed to `extendRealize<...>()`.
Realization occurs with the System the component was added to.  If system reference is empty, you also now get a (hopefully) meaningful message.
Looking through Component, now I don't think it really makes sense to have these methods here. These operate on the System as a whole, not anything having to do with the Component. Each is just shorthand for "look up the system you're in, then call that system's corresponding realize method". Why should every Component have that predefined? I think `component.getSystem().realize(state, Stage)` would be sufficient.

I worry that having these methods here could be confusing since it makes realize() seem like a Component-level concept, which it is not. (Unlike the extendRealizeXXX(), which are appropriately per-Component.)