I added support for SoLE and SoLD tagged_blocks. This includes support for object arrays.

I wrote the code to parse object arrays and tried to make a more useful SoLD and SoLE tagged_block. I also added support for getting the transform points and the original size of the layer (smart object) from the user api. 

I tried to created a test and did. It seems to run fine but I cant run all the tests because py.test is breaking for me... It also seems to be breaking here. I didn't touch any of that code though and it doesn't make sense why it would be failing now.

tests/test_pixels.py::test_composite[filename8-point8-color8-get_color1] PASSED
tests/test_pixels.py::test_composite[filename9-point9-color9-get_color0] PASSED
tests/test_pixels.py::test_composite[filename9-point9-color9-get_color1] PASSED
tests/test_pixels.py::test_composite_32bit[filename0-point0-color0] ERROR: InvocationError: '/Users/Joey/funzio/hc2-client/PS-Scripts/psd-tools/.tox/py26/bin/py.test --verbose'

Anyways this code is something I wrote for a feature I need to access smart objects and their true sizes. 
Something like this can be more efficient (but I haven't tried it, and I don't know if it matters):
```
unit = UnitFloatType.name_of(unit_key)
arr = array.array("d")
arr.fromstring(fp.read(count * arr.itemsize))
return [UnitFloat(unit, value) for value in arr]
    
```