Test for any object inheriting from [g]lmerMod

- This allows testing on objects generated by lmerTest, blme, etc
Prepend namespaces to avoid name clashes

- Functions like VarCorr are declared in multiple packages including nlme, lme4, ordinal, etc.
- Prepending the namespace will ensure the appropriate function for each class is called
Split into a generic + methods, and an internal calculation function

- `.rsquared.glmm` does all the r-squared calculations based on variances
- `r.squared.*` methods extract variances to pass to the calculation function
- This allows to reuse more code, separate calculations from class specific commands,
  and make it easier to add implementations for new models.
- Current methods are implemented for `lm`, `merMod`, and `lme` objects
- The `rsquared.glmm` function is only a wrapper for the generic `r.squared` which works on lists
- Also fixes jslefche/rsquared.glmer#2
- Did some style mods including changing `=` for `<-` and adding spaces after commas