Backported lru_cache from python 3

Added minimal caching to pdanalyzer to improve processing speed on
phase diagrams with many entries at the same composition
add missing unit tests for previous commit
allow negative Compositions
(with allow_negative argument)
missed a couple of Composition.from_formula's in refactoring
Add souped up MPRester criteria parsing.
Now simple strings with wild cards supported.
Further improvements.
Minor unittest fix.
Some refactoring. Also added usage of wild cards to usage docs.
Fix docs.
remove flag for removal of spectator species, use Reaction.TOLERANCE instead
remove tests pertaining to remove_spectator_species flag
Merge branch 'master' of github.com:materialsproject/pymatgen
remove spectator_species flag
Some simplification of Vasprun parser.
Pin dependencies. Esp the annoying PyCIFRW depdendncy which seems to ahve lots
of issues with pip install.
REmove scipy from travis.
Add fabfile funciton to automate releases to Github using GH API v3.
v2.10.3 release
Minor fix to fabfile.
More fixes to fabfile.