Modified to handle EPL form of dark energy equation of state:
 w(z) = w0 + wa z/(1+z)
Removed the __setattr__ and __getattr__ definitions.  As a result,
 no longer accepts Ol as a synonym for Ode, and Ok is no longer
 automatically updated for changes to Om or Ode -- these might
 still be interesting, but probably belong in a different branch.
Updated for comments from nhmc: PEP8 is applied to the routines,
  local variables are used for Om, Ode, Ok, w0, wa to make the
  mathematical routines easier to read, and the full citation for
  the Linder paper is given.
* Update the documentation to reflect Ol -> Ode and the availability
  of w0/wa.
* Add a test routine (test_w0walumdist_mathematica) to test_cosmology
  to test the dark energy equation of state code.
In order to accommodate a variety of dark energy equations of
state, FLRWCosmology is now an abstract base class (using the
Python library abc module).  In order to actually perform
calculations, users must make use of a subclass of FLRWCosmology
that implements a get_w(z) method (which returns the dark energy
EOS at a redshift z).  The remaining functionality remains within
FLRWCosmology.

A number of subclasses are provided
* LambdaCDMCosmology -- this essentially replicates the behavior
  of the old FLRWCosmology class, and assumes dark energy is a
  cosmological constant.  This should be the most common in practice.
* FlatLambdaCDMCosmology -- like LambdaCDMCosmology except it
  assumes flatness.
* wCDMCosmology -- assumes a constant dark energy equation of
  state parameterized by w = const (-1 is the same as LambdaCDM).
* w0waCDMCosmology -- assumes the CPL form for the dark energy eos:
  w(z) = w0 + wa(1-a)
* w0wzCDMCosmology -- assumes the simplest linear expansion (which
  becomes quite dangerous at all but small z): w(z) = w0 + wz*z

In most cases it will also be a good idea to overload _efunc and
_inv_efunc because the computation of things like the luminosity
distance is quite slow otherwise -- all of the above classes do
so in addition to overloading get_w.

The 2 provided default cosmologies (WMAP5/7) are now returned as
LambdaCDMCosmology objects, and the documentation has been
updated.

In addition to the above, in order to avoid the cosmological
parameters from entering into an inconsistent state, the
@property and @x.setter properties are now used to manage Om, Ok,
Ode, and H0.  So, for example, if Om is changed (e.g., cos.Om =
0.4) the value of Ok will be properly updated.  These can be
overloaded to enforce, for example, flatness (as in
FlatLambdaCDMCosmology).  And if H0 is changed .h and .critical_density0
will be updated.
Update __all__ in core to export FlatLambdaCDMCosmology and
w0wzCDMCosmology.
Fix missing exp(3* in FLRWCosmology._efunc
Documentation improvements
Added a class that generalizes the w0, wa form to a user-specified
pivot redshift: w(a) = w_p + w_a (a_p - a).  This is the form used
by the Dark Energy Task Force (2009 version).  Docs updated to mention
this class.

Added some tests of this new form.

Added float(value) checks to the @property.setter functions in
 FLRWCosmology and FlatLambdaCosmology
Merge pull request #331 from eteq/docs/dupl_obj_warning

adds skip option to automodapi to fix sphinx build warnings, remove subsections from automodapi
Merge remote-tracking branch 'aconley314/dark_energy_eos' into staging