DataShape Pretty Printing

A pretty print function

```Python
In [30]: ds = dshape('5000000000 * {a: (int, float32, real, string, datetime), b: {c: 5 * int, d: var * 100 * float32}}')

In [31]: print pprint(ds)
5000000000 * {
  a: (int32, float32, float64, string, datetime),
  b: {c: 5 * int32, d: var * 100 * float32}
  }

In [32]: print pprint(ds, width=30)
5000000000 * {
  a: (
    int32,
    float32,
    float64,
    string,
    datetime
    ),
  b: {
    c: 5 * int32,
    d: var * 100 * float32
    }
  }
```

This is also hooked up to `__repr__`

```Python
In [3]: ds
Out[3]: 
dshape("""5000000000 * {
  a: (int32, float32, float64, string, datetime),
  b: {c: 5 * int32, d: var * 100 * float32}
  }""")
```