Improvements to LilyString

- Add equality/inequality testing
- Fix join to work more like str.join
- Add hashing
- Add color_char for single chars
- Minor refactoring/PEP-8 compliance
- Edit a few comments
- Add isstringish function (tests whether an object is a string-like object)