Correctly infer namespace in task enhancements

Previously, defining a task using the `after` syntax within a namespace
block ignored the namespace, now the following examples are equivalent:

      # within namespace
      namespace :deploy do
        task :my_task do
          #
        end

        after :starting, :my_task
      end

      # outside of namespace
      after 'deploy:starting', 'deploy:my_task'

This resolves #541