Improve error output for failed ctags commands

The current throwing/handling of errors resulting from failed ctags
commands isn't ideal - the messages are not formatted and are often
unhelpful in diagnosing issues. Fix this by making some small
changes:

- Use 'check_output' instead of 'Popen', as this throws an
  exception for failed commands. This is easier to use than manually
  building an exception
- Format the output of errors on Windows machines, by decoding the
  Windows formatted strings and stripping carriage returns
- Other small changes
Backport 'check_output' to Python 2.6.x

- 'subprocess.check_output' is not supported in Sublime Text 2, as
  it uses an older version of Python (2.6.5). Backport this function
Remove unsupported 'encoding' argument

- 'decode' does not support the above argument in Python 2.6.x.
  Remove this as it's unecessary.
Enable 'shell' in Popen

- In order to garner useful information when an invalid CTags
  string is passed, we need to run the subprocess command through
  the 'shell'. This cause of the issue is described here:

    http://stackoverflow.com/q/22251830/
Make remaining build exception more general

- There are likely special cases that occur in 'ctags_build' for
  which we have no handler. Replace the defunct 'EnvironmentError'
  with a general 'Exception' handler to catch these cases.
Strip all carriage returns from printed errors
Add regression tests for #209, #213

- Add some regression tests for these issues. As they are currently
  conflicting, they don't both work.
Resolve #213

- Add special case to deal with line numbers (which aren't followed
  by a dollar sign, i.e. '$')
Update regex with changes from "forum"

Update regex with decisions made here:

  https://github.com/SublimeText/CTags/issues/213
Fix typo in 'test_ctags.py'
Merge branch 'feat/improved_build_warnings' into development
Merge branch 'bug/213' into development
Fix regression highlighted in #177
Update to work with Python3 (ST3)
Resolve broken unit test
Add initial version of '.travis.yml' file
Resolve build issues with Python 2.6
Further fixes for Python 2.6

Further changes based on pyql travis config file

  https://github.com/enthought/pyql/blob/master/.travis.yml
Add requirement for 'exubrant-ctags' package
Account for different OS line endings in tests