Remove Selection::avoid_eol, move as static func in editor.cc

Conflicts:
	src/editor.cc
Context: return DynamicSelectionLists in jump_{forward,backward}
Add interfacing.asciidoc describing how to interact with external programs
Buffer: add some method to work directly with coord instead of iterators
Buffer::do_{erase,insert} takes coord parameters rather than iterators

BufferChangeListeners do as well use coord rather than iterators
pass window param to highlighters
AtomContent uses coord rather than iterators
DisplayBuffer: use coords rather than iterators
BufferIterator convert implicitly to const BufferCoord&
Buffer insert and erase takes coord rather than iterators
minor tweak buffer iterator
window, editor: take coords rather than iterators parameters
InputHandler: less iterators, more coords
buffer end should not be in a selection
Add Buffer::{next,prev,at}(BufferCoord) methods and use them in iterators
Remove begin/end from Ranges, replace with min/max

Ranges should not be utf8 aware (needed for end), and a lot of
uses for end() were in fact looking for max.
Remove Range::content
reorganize check_invariant in SelectionList
minor code cleanups in filters.cc
remove BufferIterator::offset