Finalizing Solution

- Added documentation and comments
- Refactored method names
- Cleaned up output
- Simplified random generator
- Exception on shuffling an empty deck
- turned off logging