Add fastcache as an optional depency.  Use fastcache for travis tests

Add fastcache as an optional depency to address the slow down introduced by the pure python based LRU caching of #7464.  Also, use fastcache for travis tests to speed things up although I'm not certain which tests to use it for.

benchmark run on my machine:

On master:
```bash
bin/test sympy/series/tests
============================= test process starts ==============================
executable:         /home/ptb/miniconda3/bin/python  (3.4.1-final-0) [CPython]
architecture:       64-bit
cache:              yes
ground types:       python 
random seed:        49892325
hash randomization: on (PYTHONHASHSEED=1744707961)

sympy/series/tests/test_demidovich.py[17] .................                 [OK]
sympy/series/tests/test_gruntz.py[41] .s.ffffs................................. 
                                                                            [OK]
sympy/series/tests/test_kauers.py[2] ..                                     [OK]
sympy/series/tests/test_limits.py[46] .......fff................................
....                                                                        [OK]
sympy/series/tests/test_lseries.py[7] .......                               [OK]
sympy/series/tests/test_nseries.py[67] .................f.......................
..........................                                                  [OK]
sympy/series/tests/test_order.py[46] ...........................................
...                                                                         [OK]
sympy/series/tests/test_residues.py[9] ........f                            [OK]
sympy/series/tests/test_series.py[14] ..............                        [OK]

= tests finished: 238 passed, 2 skipped, 9 expected to fail, in 347.03 seconds =
```

This PR:
```bash
bin/test sympy/series/tests
============================= test process starts ==============================
executable:         /home/ptb/miniconda3/bin/python  (3.4.1-final-0) [CPython]
architecture:       64-bit
cache:              yes
ground types:       python 
random seed:        46560502
hash randomization: on (PYTHONHASHSEED=3339036091)

sympy/series/tests/test_demidovich.py[17] .................                 [OK]
sympy/series/tests/test_gruntz.py[41] .s.ffffs................................. 
                                                                            [OK]
sympy/series/tests/test_kauers.py[2] ..                                     [OK]
sympy/series/tests/test_limits.py[46] .......fff................................
....                                                                        [OK]
sympy/series/tests/test_lseries.py[7] .......                               [OK]
sympy/series/tests/test_nseries.py[67] .................f.......................
..........................                                                  [OK]
sympy/series/tests/test_order.py[46] ...........................................
...                                                                         [OK]
sympy/series/tests/test_residues.py[9] ........f                            [OK]
sympy/series/tests/test_series.py[14] ..............                        [OK]

= tests finished: 238 passed, 2 skipped, 9 expected to fail, in 234.49 seconds =
```

A speed up of roughly 33%
The tests will default back to running the splits rather than just polys
and plotting.
On Jul 27, 2014 8:42 PM, "Ondřej Čertík" <notifications@github.com> wrote:

> In bin/test_travis.sh:
>
> > @@ -45,6 +45,13 @@ import sympy
> >  if not sympy.test('*theano*'):
> >      raise Exception('Tests failed')
> >  EOF
> > +    elif [[ "${TEST_GMPY}" == "true" ]] && [[ "${TEST_MATPLOTLIB}" == "true" ]]; then
> > +        cat << EOF | python
> > +import sympy
> > +if not (sympy.test('sympy/polys/', 'sympy/plotting') and
> > +        sympy.doctest('sympy/polys/', 'sympy/plotting')):
> > +    raise Exception('Tests failed')
> > +EOF
>
> So this requires that both GMPY and MATPLOTLIB must be on, otherwise the
> tests won't be run at all, correct?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/sympy/sympy/pull/7737/files#r15444927>.
>