[Incomplete] Document Data Structures

Hi David,

Sorry for the sudden hiatus... work was killing me
I'd like to gradually add some of the code I've written for work into breeze and get into contributing again.
For that, I think I really should understand the inheritance structure of DenseVector and DenseMatrix.

I've started an ambitious attempt to take notes and make a UML-ish diagram... do you think something like the following would be useful to really make complete?
![image](https://cloud.githubusercontent.com/assets/4279323/3775458/419e2098-1945-11e4-9190-1a6eb0bbc064.png)

I'd like to go through the classes and add more docs with your help, as well as make the variable/type anno naming consistent, if that's OK with you?

Sincerely,
Kenta
@dlwh 
`OpenAddressHashArray` is specialized for (Double, Int, Float, Long)... I was wondering if it might make sense to have its parent `Storage` like that too. (Or maybe just have the whole package Double/Int/Float specialized only).

 Actually, I would personally find it useful to extend the whole of `breeze.linalg` to Long as well for specialization, but I have no idea how much extra size that would entail... what do you think?