add BidiagonalRow, BidiagonalResult and QRHelperFunctions, move getB, handleB, getV, handleV, getU, handleU from BidiagonalRow to BidiagonalResult
Change bidiagonalResult to BidiagonalRowResult and add an abstract class BidiagonalResult
add generic bidiagonal tests
change BidiagonalResult to interface
remove getDiagonal and getUBV from BidiagonalRow
For BidiagonalRow, remove tests for transpose and separate tests for compact and normal
move older get and handle  methods to BidiagonalRow, make new get methods in Result class simply return precomputed matrices, add compact option to decompose method, update tests, remove compact and transpose parameters from get and handle methods
removed gammasU and gammasV methods
updating docs
rename BidiagonalResult to IBidiagonalResult
change decompose to a static method, add a private constructor, use a temporary BidiagonalRow object to compute IBidiagonalResult object. All this is to ensure immutability
Merge pull request #36 from prasant94/develop

Bidiagonal Decomposition