Adds str and trim by variance to pca.

- Overload `__str__` method on `PCAModel`.
- Reimplements `noise_variance` property, and adds some convenient properties related to the amount of variance captured by the `PCAModel`.
- Removes `samples` from `PCAModel`.