Adds cfg_vars to Config.

This dictionary can be used to pass key value pairs that are used as
defaults while instantiating the SafeConfigParser.
Changes name of variable.

This incorporates feedback from the package maintainer on the name of
the variable.
- Fixed a variety of issues surrounding rendering of Python code that
contains unicode literals.  The first is that the "quoted_name" construct
that SQLAlchemy uses to represent table and column names as well
as schema names does not ``repr()`` correctly on Py2K when the value
contains unicode characters; therefore an explicit stringification is
added to these.  Additionally, SQL expressions such as server defaults
were not being generated in a unicode-safe fashion leading to decode
errors if server defaults contained non-ascii characters.
fixes #243
The Oracle dialect sets "transactional DDL" to False by default,
as Oracle does not support transactional DDL.
fixes #245
Adds tests for config_args
Merge branch '242-config-vars' of https://bitbucket.org/nibrahim/alembic into pr33
- changelog + some polish
- The "multiple heads / branches" feature has now landed.  This is
by far the most significant change Alembic has seen since its inception;
while the workflow of most commands hasn't changed, and the format
of version files and the ``alembic_version`` table are unchanged as well,
a new suite of features opens up in the case where multiple version
files refer to the same parent, or to the "base".  Merging of
branches, operating across distinct named heads, and multiple
independent bases are now all supported.   The feature incurs radical
changes to the internals of versioning and traversal, and should be
treated as "beta mode" for the next several subsequent releases
within 0.7.
fixes #167
put the sqlite thing near the top as it's the other big feature
- typo
make the three way merge thing a separate section, we don't really
even need it but should be fine
- A change in the ordering when columns and constraints are dropped;
autogenerate will now place the "drop constraint" calls *before*
the "drop column" calls, so that columns involved in those constraints
still exist when the constraint is dropped.
fixes #247
include indexes in batch
- Added a rule for Postgresql to not render a "drop unique" and "drop index"
given the same name; for now it is assumed that the "index" is the
implicit one Postgreql generates.   Future integration with
new SQLAlchemy 1.0 features will improve this to be more
resilient.
fixes #247
- add more label syntaxes
ModelOne now has unique constraints so require that
- modernize the readme especially the SQLite thing
- support the case where a mergepoint has a branchpoint immediately
following it; this will be the norm in the case where parallel
branches refer to each other as dependencies.

this means we need to limit for from/to revisions based on current
heads / ancestors of those heads whenever we merge/unmerge.
- break out the concept of "down revision" into two pieces:
down_revision and "dependencies".  For migration traversal, the downrevs
we care about are the union of these two sets.  however for location of nodes
and branch labeling, we look only at down_revsion.  this works really well
and allows us to have mutually-dependent trees that can easily be itererated
independently of each other.  docs are needed
- In conjunction with support for multiple independent bases, the
specific version directories are now also configurable to include
multiple, user-defined directories.   When multiple directories exist,
the creation of a revision file with no down revision requires
that the starting directory is indicated; the creation of subsequent
revisions along that lineage will then automatically use that
directory for new files.
fixes #124