Remove redundant advice on command-execute

This used to be necessary because it called call-interactively in C
code, where advice is not used, but now it does a proper lisp call to
call-interactively, so the advice on that gets used no matter what.
Fallback to defining advice on "command-execute" in emacs trunk

Emacs trunk has changed the advice system, so my fixes for the "advice
on call-interactively" problem no longer apply. So for trunk, we fall
back to advising "command-execute" instead of "call-interactively" and
avoid overriding "called-interactively-p". This misses some cases,
like interactive commands invoked directly via keybindings instead of
e.g. M-x, but it won't break "called-interactively-p".

Once Emacs trunk has stabilized on a new advice system, I will look
into updating my code to handle it properly and fully re-enable
ido-ubiquitous command overrides for Emacs trunk.
Remove message about enabling/disabling mode

"define-minor-mode" already provides this message.
Remove unnecessary "eval-when-compile"
Revert to from cl-loop to loop and require cl at runtime

cl-loop was introduced in 24.3, so for compatibility with earlier 24.x
versions we need to use just "loop".

The "eval-when-compile" trick seems too fragile, causing cryptic
errors that I dont understand, so I have removed it. These may be
related to some difference between the "cl-*" macros and their
unprefixed aliases. If someone submits a patch showing the correct way
to do the eval-when-compile trick while maintaining compatibility with
the entire version 24.x series, I'll happily merge it.
Remove use of "macroexp--backtrace", which doesn't exist before 24.3

Fixes #26 for emacs versions before 24.3.
Remove override for "man" command

This is now covered by the execption for collection being a function,
so there is no functional change.
Version 2.2
Fix trailing line for package.el compatibility
Implement collection size limit for ido completion

Fixes #31.
Implement whitelist for collection functions

Fixes #33.
Remove debug message
Reorganize code to avoid unnecessary collection expansion
Delete duplicates from collection before completion
Enable lexical binding

No idea if this works. Probably not.
Version 2.3
Revert "Delete duplicates from collection before completion"

This reverts commit 1b74a85fe6420e02b92a309bdd049f12241aacc0.

The call to delete-dups resulted in significant performance
defradation on large collections.
Remove unnecessary uses of "delete-dups"

"delete-dups" is slow for large collections.
Add underscore to unused variable
Version 2.4