Enable caching in drush_get_commands().

The call to `drush_set_context()` was in place, but the call
to `drush_get_context()` was not.

This is one of the most costly function in the whole Drush
code base, we really want to have caching here.
Add context cache in drush_command_implements().
Add static cache to drush_is_windows().
Add context cache to drush_get_engine_types_info().
Add context cache to drush_get_engines().
Hack: Remove translatability support in dt().