add subset_dshape
subset_dshape of index::int ds::record
subset_dshape using list as index
add IndexCallable
DataShape.subarray always returns a DataShape
move isdimension from user to coretypes
move IndexCallable from util to utils

OK, this is a dumb move, I'm a bit frustrated though.
To me util/utils.py is meant to be a place with general utilities that
don't depend on the core functionality.  In datashape util is a
collection of user facing tools that depend on all of datashape.  We
need a place for the former.
subshape method on DataShape
add __future__ imports, clean __all__
subshape indexing Record with list
index Record with slice
move utils to internal_utils
change lingering import
use _strtypes and _inttypes
Merge pull request #56 from mrocklin/index

add subset_dshape