Change SendEmailTask to .apply_async() from a shortcut .delay() to support routing tasks

Celery Task.delay() is always a shortcut to Task.apply_async() and its limited. So i made a changed on it for we to extend our parameters and support routing tasks from different queues.

Celery Routing and Calling Tasks:
http://celery.readthedocs.org/en/latest/userguide/routing.html
http://celery.readthedocs.org/en/latest/userguide/calling.html#calling-cheat