Add gettext:setup task

Following the discussion I had with @kou at ruby-gettext/gettext/issues/24 these are the proposed changes I'm making to gettext_i18n_rails task definitions.

DRY'ed the code a bit and added the ability for application developers to override the default "app" domain, since it was not possible thanks to the class scope of the task definition.

CAVEAT: `mo:update` and `po:update` are necessary since `gettext:mo:update` and `gettext:po:update` are defined after `GetText::Tools::Task.define` is called and this is the only way to invoke them. Otherwise Rake cannot find the tasks and complains.