Opt branch

@acroy, thanks for the nice work. I created a pull request, since this facilitates adding line comments to the code. Hence, see below for further comments of further potential comments.
In fact, in julia 0.3, you could even use the shorter form
```julia
scale!(vm[1],v,1/beta)
```
which directly copies the result of `v/beta` to `vm[1]` without allocation.