fixed broken shuffle for arrays of length 1 or 0

Coffeescript's range evaluator (in this case [a.length-1..1]) produces inappropriate results for Fisher-Yates when the array is length 1 or 0. The unfixed shuffle pushes undefined values onto the the array. A length check is necessary to continue with this style.
Merge git://github.com/malgorithms/coffeescript-cookbook.github.com into malgorithms-master
Clarify shuffle code

Better variable names, Removed silly comments, Expanded explination of
@malgorithms commit 16debf2 in comments
Merge branch 'malgorithms-master'