Collapse outer directory structure.

No real need for two folders now that yi-contrib is gone.

Also delete HACKING, its useless and really out of date. (HackerMain?)
We can completely rewrite a new one if we need to.
Update .travis.yml for no yi/ directory
Add hook for presave.

Inspired by Fuuzetsu's config that deletes trailing spaces before
saving, now without having to completely rebind the save commands (which
is much more difficult in vim).

Example usage:

main :: IO ()
main = yi . flip execState defaultVimConfig $ do
    preSaveHooks <>= [BufferA $ savingPointB deleteTrailingSpaces]
(#647) Expand graphics before wrapping lines.
(#647) Handle line wrapping edge cases Vty's drawText function.
(#647) Decompose `lines'` into smaller functions.

Then apply in order:
 * expand graphics
 * split lines
 * then append spaces on lines that are not 0 modulo window width.

Also, don't special-case the newline character in expandGraphic since different
application order when using it and lines' will avoid expanding newlines.
(MAINT) Remove line break for readability.
(#647) Handle cursor positioning edge cases in SimpleLayout

Signed-off-by: Wayne Warren <waynr@sdf.org>
(#647) Ensure EOF cursor behavior remains the same.