Minor fix to remove extra colon from logging

Some log messages with no file context include a colon delimiter following
[<PHASE>], which looks strange and is not desired. Fix includes minor tweak to
a few tests' expected output.
Merge branch 'bugfix/log-extra-colon' into dev
Edit travisfile with py2.6 addition (and argparse)

argparse will be a requirement for 2.6 support -- switching to optparse will
probably cause problems down the line in a python 3.x variant drops support for
it. Includes fixup to comment in parser to describe py2.6 support
Add python version check to main script

Exits without doing anything if the python version is too old. Does not attempt
to print yet because error printing gets confusing between py2.3 and 3.5. Will
come back to fix this later.
Convert dict comprehension to dict() invocation

Python 2.6 does not support dict comprehensions (and cannot handle them via a
future import.
Convert all multi-clause 'with's to be nested

Python 2.6 does not support multi-clause 'with' statements, so all of these
needed to be converted to nested with statements. Created some trouble with
keeping things within 80 chars for PEP8 compliance.
Merge branch 'feature/py2-6-compat' into dev
Add 'Unit: ' prefix to all unit tests

Having a standard prefix gives uniformity with the E2E testsuite.
Merge branch 'testing/unit-test-prefix' into dev
Add basic support for primary block attributes

Includes changes to some of the internals of parsing to support this, and
alterations to blocks (just the inclusion of a new Block attribute,
primary_attr).
Loses code coverage.
Refactored parsing to be simpler

In light of the changes for primary attribute support, the old way of handling
the parsing (post-tokenization) was not well built and needed a rewrite.
Recover test coverage for Primary Attribute blocks

Adds a couple of tests to ensure that use of Primary Attribute blocks does not
break tokenization.
Improve parsing tests on primary_attr blocks

Increases the number and kind of tests run on tokenizing and parsing Primary
Attribute blocks.
Update README to include 2.3.0 changelog

Includes mention of Primary Attribute blocks. Scratches that off of the Feature
list.
Merge branch 'feature/block-primary-attr' into dev
Made block.base into block.__init__

The "base" module was really serving the purpose of an __init__ module, leaving
the __init__ module free for other purposes. But since the __init__ module was
empty, this didn't really make sense.
Moved salve.execute to salve.action

Also made salve.execute.action into salve.action.__init__, as this has cleaner
semantics than the prior arrangement. The diffset is large for this commit
because there are many imports and mocks that needed to be rewritten to use the
new package location.
Move salve.run to salve.cli & test package renames

Move salve.run to salve.cli (clearer semantics again), and renamed a bunch of
the test packages as per salve.cli and salve.action.
Silence stderr for reader tests

The reader tests were relying on sys.stderr being mocked prior to their runs by
other tests, which is why a rename triggered this error. Problem was solved by
wrapping them in MockedGlobals subclasses.
Moved salve.settings.config to salve.config

Rather than having a whole package devoted to settings, which does not properly
encapsulate the global execution context and other classifiable "settings", the
config package is exposed within the toplevel salve package. This is a clearer
breakdown. Config can be turned into a package if there is a call to do so in
the future.