add optional parameters

Now module definitions can include a "build" field, though we don't do
anything with it yet.