Add HMM class and functions for generating random HMM
Partially integrate numpy. Vectorize forward procedure.
Implement normalization in forward procedure to prevent underflow
Add vectorization and normalization for backward algorithm
Return normalization factors and add docs