Don't run spark tests if pyspark isn't available

closes #382


- [ ] `py.test` enforces [it's own ideas about testing structure](http://pytest.org/latest/goodpractises.html#choosing-a-test-layout-import-rules) by throwing an error during the collection phase of test running. Is this a deal-breaker?
- [ ] adapt `unittest.skip` decorators to equivalent `py.test`