Multiplicative and addititive identities

This introduces `one(x)` and `zero(x)` for `x` of type `SIQuantity`.

The behavior is designed so that the two methods are multiplicative
and additive identities, respectively, i.e.

```julia
x * one(x) == x
x + zero(x) == x
```

This is intended to fix #18 and at least help mitigating JuliaLang/julia#7623.