Add autoload cookies.
Do not mandate use of ido.

Calling `ido-completing-read' or `ido-read-directory-name' when ido is not in
use confuses both ido and the user and at best will lead to an unusable prompt.
So wrap both these functions in wrappers that call `completing-read' and
`read-directory-name' if (the appropriate variety of) ido is not in use.