Python3 update

This pull request does the following:

+ Large refactor of the code base
    * Logically reorder number of functions
    * Move tests to separate tests file
    * Add comments to many functions
    * Add documentation to settings file
    * Remove unused functions (dead code)
    * Remove large swathes of text and place in separate files
    * Move small, one-time functions into inner functions or merge into other other functions
    * General formatting to abide to PEP-8 coding standards
    * Move Documentation from Creole to reStructuredText for ease of readability
+ Addition of error message when ctags fail to execute
+ Allow for different tag file names and ctags commands
+ Python3 (and hence, Sublime Text 3) compatibility (for all but the jump-back function)
+ Other minor changes which should be evident in the text

Notes:
======

I understand that this is a large pull request (my first on GitHub), and if wanted I can separate it into multiple smaller commits. However, as far as I'm aware it works almost exactly as before in Sublime Text 2 and now works in Sublime Text 3. Additionally, the refactoring and addition of unit tests should help in future development.

Future Changes:
===============

I have a number of additional features I'd like to implement. I will push these in time, assuming you're happy with this pull request.