Remove feature envy

CharlotteViewModel was wanting to know a lot about the Build and acting on it quite a bit. Move those decisions and behaviors into the Build object where they belong.