Improved ant completion

Fix regenerating .ant_targets on most tab completions (which made ant support sloooow). 
Also make ant do the work of enumerating targets which fixes edge cases.

Note that this change does make it so that "internal" targets (those with no description) are no longer shown, which could possibly be considered a breaking change. I'd argue this is good though, as `ant -projecthelp` also doesn't output these.