Rower interface

A Rower is a multiple sequence type that can return a Row. A Row points
into the multiple sequence so that individual sequences can be
manipulated while aligned. This API change allows removal of the
Position type.
Fasta reader bug fix

Did not give informative error on reading non-fasta file.

Also change receiver names.
Further fasta and fastq bugfixes

Neither correctly handled long lines (i.e. greater tha line buffer
length).
Move majority of seq-dependent packages to exp/seq

This is a massive set of changes and brings significant improvements
(IMO) to sequence and feature handling.
Rename seq and annotation Copy* methods to Clone*

More idiomatic convention.
Lagging change

Replace Copy with Clone.
Change license

Now under BSD-like.
Revise matrix implementation

* No use of goroutines without justification.
* Clean up receiver names, returns etc.
* Improve allocations in String (TODO: write Format method).
Dense, formatting, testing and more revisions
Be sensible - use functions
Tests for formatting

Some rearrangement of code and more informative variable names. Also
found some regressions in Apply due to the change from column major to
row major representation.
Use ziutek/blas.Ddot for foldMulSum

This gives an ~50% performance improvement for dense matrices.
Optimisation for sparsely filled dense matrix type

Do not Ddot row/column pairs unless the column is non-zero.
Documentation, pivot type, nmf corrections

* First draft of documentation.
* Majority of pivot implementation.
* Correction of nmf calculation bug that allowed negative returns. This
  appears to be in the original code (waiting for clarification from
  author).
Optionally allocating methods

Potentially allocating methods now take a c matrix argument which
specifies the target. A nil value replicates the old behaviour,
allocating a new matrix. Dot cuurently does not allow overwriting the
operands - if c == a or b, a new matrix is allocated.
Remove work buffer pool

Does not make any significant diiference to performance according to
benchmarks.
Use blas Dgemm for Dense.Dot

Significant performance boost for large matrices, minor loss for small
semi-sparse matrices where the Go implementation ignores zero rows and
Cgo call costs dominate presumably.
Calculate det sign during pivot creation