magit-read-stash: actually use PROMPT argument

(cherry picked from commit f9739c5d680053de831fc2bbec9b21ab90d24217)

Conflicts:
	magit.el
move definitions of functions and variables used for log washing
remove dead function magit-wash-typechange-section

By the way, the functionality this intended to provided will be
implemented for real soon.
magit-mode-setup: abort if not inside a repository

Previously we ended up setting `default-directory' to nil in
`magit-mode-init'.  While doing that is always a bad idea in this
case the result was fatal; for some reason it caused Emacs to enter
an endless loop and neither C-g nor ESC where able to break it.

Close #1255.
move definitions of functions and variables used for diff washing

In preparation of major refactoring move definitions of functions and
variables used for diff washing.  The old location has never made
much sense.

Only move the functions and variables that implement "diff" and "hunk"
washing, and leave the "raw diff" functions where they are now.  They
are not going to be refactored.  This extra washing cycle will be
removed without a replacement because it has no benefits but many
downsides.
magit-wash-diff: absorb utility funtions

Yes, this is spaghetti code but having the spaghetti split
across multiple pots actually makes it harder to turn this
mess into a good meal.
rename magit-{ => diff-}highlight-{line- => }whitespace
magit-diff-statline-re: new constant
magit-wash-diffs: don't wash if there ain't no laundry
Merge branch 'faster-diff-2'