The `name` arg in option() is now optional

(ab)use metaclasses to do introspection on the attribute name if a name
argument is not specified.
Add some comments, fix a bug in getCounter implementation
Use explicit DEPS and typed requireTask in DBusTask