extract dest_view erase begin_edit/end_edit to a TextCommand
extract replace into a TextCommand
extract prepend into a TextCommand
fix importing of pipe_views
Merge branch 'rc/settings' into st3
settings callback: assume settings.get() works

Don't have to be so paranoid la. *_setting assignments need to be more
robust; this can't protect us from much.

We were getting the exception

  Traceback (most recent call last):
    File "C:\Users\rc\AppData\Roaming\Sublime Text 3\Packages\sublime-text-2-buildview\commands.py", line 12, in callback
      val = settings.get(s_key, not_found)
    File "D:\Program Files\Sublime Text 3\sublime.py", line 925, in get
      return sublime_api.settings_get_default(self.settings_id, key, default)
  TypeError: Value required

This remains undiagnosed; we just sidestep this.
Merge branch 'st3'
place build view next to active view, instead of at start
set important values before prepare_copy()

They may be used (in on_view_created()) right after prepare_copy()
returns!
insert pipes entry only when setup (dest view creation) is complete
buffer build output when dest_view is not created
revert 86d847f, in light of 1c51769

since we now have buffering
Merge branch 'rc/placement'
handle non-working-ness of last-placed on Sublime Text 3
don't set focus to source view if build output is in same group

Strike off a todo, yay!

It turns out that we were setting the focus to the source view, which
explains why the build output is not given focus if it is placed in the
same group (as opposed to, it being given focus when placed in some other
group).