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%
So this requires that both GMPY and MATPLOTLIB must be on, otherwise the tests won't be run at all, correct?