Changed class name from LDA to SLDA

The duplicate LDA (lda.LDA and slda.LDA) caused problems with some automated tests.
Replaced lambda with a named function
Added more tests for improved coverage