Adds str and trim by variance to pca.

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