builds can save their inputs + metadata

also refactored to use constants for redis keys, and cleaned up the interface
a bit (don't return the saved build anywhere; don't actually need it)