dlwh/breeze — pull request #16 by MLnick (2013-05-30 11:21:45+00:00)
Title: Making VectorBuilder work properly with varargs (Int, V)* 

(or Seq[(Int, V)]).

The call to `update` in `r(i) = v` wasn't actually adding the indices/values to the builder since for a new builder `offset` is always < `used`. This seems to be the desired behaviour since `update` should in fact amend the value for a given index while `add` adds new (Int, V) tuples.

This fixes the method to use `r.add(i, v)` instead.

Test code:
```
println(VectorBuilder(10)((1, 2.0), (3, 5.0), (7, 3.2)).toSparseVector)
println()
val b = VectorBuilder.zeros[Double](10)
Seq((1, 2.0), (3, 5.0), (7, 3.2)).foreach{ case(i, v) => b.add(i, v) }
println(b.toSparseVector)
```

Results prior to PR:
```
SparseVector()

SparseVector((1,2.0), (3,5.0), (7,3.2))
```

Results after PR:
```
SparseVector((1,2.0), (3,5.0), (7,3.2))

SparseVector((1,2.0), (3,5.0), (7,3.2))
```