Bump dependencies to base-4.6.

Also remove "import Prelude hiding (catch)" for ghc>=7.5, since
Prelude.catch will be removed from base>=4.6.
Allow unix-2.6 as a dependency, in preparation for ghc-7.6.1.
Remember the current history or kill ring state after ctrl-c (or other exception).
Add back wrap/handleInterrupt.

Although GHC provides similar functionality by default, it will
terminate the program the second time that ctrl-c is pressed.  In contrast,
wrapInterrupt will throw an exception on every ctrl-c, which is better
behavior for the types of programs that use haskeline.
Update CHANGES for 0.6.4.7.
Typo fix in type synonym.
Win32: Don't pass invalid arguments to SetPosition for long input lines.
Fix ctrl-L on Windows with large console window sizes (GHC ticket #4415).

Here "large" means an area of >2^15 cells, e.g., 200x200.
Original patch by fryguybob@gmail.com.
Prevent crash on Windows when writing many characters at once.

A couple cases which are known to have triggered this are:
- Entering a long (>2^15) input line
- Tab-completing a folder containing many files, with completionPaging:False
Add current finished changes for haskeline-0.7
Change new version number to fully qualified "0.7.0.0"
Fix guessing window size from terminfo.
Add unit tests for general input/output and encoding/decoding behavior.
Use the base package's IO encoding/decoding on ghc>=7.4.1.

This removes the dependency on the utf8-string package (except for ghc<7.4.1).
A few minor encoding/decoding corner cases were also fixed.
Update CHANGES.
Add test folder for unit-testing file completion.
Edits to the MonadException haddocks.
Remove Haskell comment on #endif line; it breaks the GHC build.
Bump version to 0.7.0.1.
CHANGES for 0.7.0.1.