Make default test set repr a pretty print

- change %show magic to only ever display the current selection
__repr__ must return a str or ipython gets a belly ache
Nearly complete the callspec filtering feature

- still and outstanding bug with slices such as ts1.<csid>[:2]
  specified in the getattr/tabbed path
- bail with err msg in _tprint if no items are provided
replace more illegal chars, think about exc re-raising, shit is still badly broken
rework cs filtering using a more functional approach
Allow for params completion on FuncCollection

- use the callspec str id instead of calling str over values
- _children is superfluous
- getitem now works on params attrs as well
- for now leave out sub-node caching
Filter by params intersection not by the union

- solves issue with callspec-params based selection where
  any further selection would add tests by the union of callspec-params
  identifiers instead of filtering more tests out
- additional cleaning and simplifications
update todo list
fix bool check on indices which prevented selection on index 0
Add slice and index syntax support for %remove

- remove now can takes slice syntax usinga  ',' delimiter
- add docs for %remove and %add magics and update %show's
doc tweaks, return on empty %remove args
don't add tests to selection on test set call
Do not remove tests if shell is actually exiting

- turns out ipshell doesn't terminate at the exit() call so make sure
  to check for the exit_now state when determining if tests should be
  removed from the current selection
update readme with usage
Add sphinx layout, update release, fix readme typo
move all example tests into a new subdir
tighten up docs
Add docs introduction
Don't add empty str '' named attrs to params

This causes a weird hanging tab completion entry to show up:

>>> tt.params.<TAB>
tt.params.   tt.params.dog  tt.params.cat

which just looks plain silly...
Add more docs for shell.py so that sphinx autodoc picks it up