Add support for -i/--interactive to git-clean

Show what would be done and the user must confirm before actually
cleaning. In the confirmation dialog, the user can choose to input
a space separated ignore patterns, and each clean candidate that
matches with one of the patterns will be excluded from cleaning.
When the user feels it's OK, press ENTER to start cleaning. If
the user wants to cancel the whole cleaning, simply input ctrl-c
in the confirmation dialog.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Suggested-by: Junio C Hamano <gitster@pobox.com>
Reviewed-by: Eric Sunshine <sunshine@sunshineco.com>
Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr>