Include mock as test dependency

This is only needed for python 2 because mock is in stdlib for python 3
(unittest.mock).
Add base and NDArray backend

This commit contains a new backend for sampling and selecting values.
Non-backend files have been changed to work with the new backend.

This commit also merges the `sample` and `psample` functions. `sample`
now takes a keyword argument `njobs`, and if this is over one, the
multiprocessing version is used.
Add Text backend
Add SQLite backend
Add backend documentation
Test equality of NDArray and SQLite selections
Dump and load tests for text and SQLite