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 input a space
separated prefix list, and each clean candidate that matches with
one of prefixes, 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>