ENH: add pandas.hdfstore suppport


includes some other commits to make testing clean
- https://github.com/jreback/into/commit/82a6546ee5c6465a851601873f00ff05109a3c0c is in another PR already
- https://github.com/jreback/into/commit/836d5caaf2e3189882a53df343a18a785672c3a2 should be cherry-picked

- Added into support to include chunking / column selection / reading and writing

the use of uri's in resource that need a hierarchical disambiguation
based on priority and the raising of ``NotImplementedError`` by matches
that do not wish to be a resource for that particular uri

IOW. a higher-priority uri matches (e.g. .h5), but the data is
actually PyTables, so HDFStore 'passes' on the processing. PyTables
is next in the chain so it will then process.

Note that a uri can be more fully-disambiguated via a head element
The default is ``hdfstore`` (this only matters for writing), reading
is unambiguous.

e.g.

```
....../file.h5 -> hdfstore
hdfstore://....../file.hdf5|h5 -> hdfstore
pytables://....../file.hdf5|h5 -> pytables
h5py://........../file.hdf5|h5 -> h5py
```
well, then am puzzled why you adopted it for blaze? I was always a ``noseman`` myself (coming from pandas). by @cpcloud showed me the light. It makes for significantly less verbose testing code which handles lots more stuff.  I believe its also widely accepted. Its really just a preference. You make things MUCH harder to deal with if you insist that its testesting framework free. No advantage to this and you lose the ability to test exhaustively in just a few lines of code. If blaze/into are going to be well tested this is a MUST. You cannot be tracking down edge cases all the time. The test suite needs to be as complete as possible. Adding slight variation of a test should be very simple and not involve manually writing additional test code. The simpler the setup the less chance of errors. Supporting BOTH nose/py.test is MUCH worse than having no tests at all.