Make creation of options object more intelligent.

By using the spec argument we can define the list of accepted attributes
for the options object.  Additionally, we no longer have to pass in a
list of options to set to None as we now do this by default.
Add activation key and consumer ID options.