Update Quickstart prompt to be more useful
add section on automatic git status
explain how to add git branch to the prompt
fix redundancny in index
expand docs
add sample code to README and docs/index

This commit adds a sample code to the splash pages of the project.

The code sample is intended to make it slightly easier to grasp what exactly
twosheds is.
fix #26
Modify Transformation interface

This changes the Transformation interface from simply requiring
``expand`` to requiring ``encode`` and ``decode``, where the latter are
inverses and ``decode`` performs the same role as ``expand``.
Merge pull request #27 from Ceasar/transformation-api

Modify Transformation interface
patch shell
simplifiy transform interface

This commit rewrites transforms to be callable objects, since they
represent relations rather than objects.

Furthermore, rather than having a decode and encode method, transforms
must just be callable and accept the optional parameter ``inverse``
which determines the direction of the transform. This is intentionally
similar to ``sort(reverse=True)``.
add tests for Grammar.transform
inverse expand variables by length of value
fix version in docs
rewrite tests to use text fixtures
remove interactive features from ``Shell.__init__``

This enables one to test the shell.
rewrite TildeTransform as decorator for VariableTransform

TildeTransform expands ``~`` to ``$HOME`` which means it is sensitive to
the order of transform-- it must always be applied before variable
transforms.

However, TildeTransform is not a subclass of VariableTransform either--
it's an entirely optional feature. Therefore TildeTransform makes the
most sense in the form of a decorator.
correct docs for transforms
correct docs for Shell.interact
Add doctests to Transform docstrings