Feature: Power

Power has a very wide range of usable values ([examples](http://en.wikipedia.org/wiki/Orders_of_magnitude_%28power%29)) so I'm not sure where exactly we'd want to draw the line.

There's also a tolerance issue that came up in the femtowatts unit tests: using `double` to store femtowatts leads to rounding/representation issues. 
```
protected override double FemtowattsTolerance
{
    get { return 0.15; }
}
```
I was thinking about this previously and I think `decimal` might be a better backing datatype because it can exactly represent powers of 10 because it's a decimal floating point type (`double` is binary floating point). It would make sense to use it since we're mainly concerned with SI units which are powers of 10, however it's a major breaking change and `decimal` is less efficient for calculations...