Refactor, unicode, Python 3.

Hello!

I'm writting [verboselib](https://github.com/oblalex/verboselib), a little framework for L10N support in stand-alone libraries. Your library is just exactly what I need. But I've found that your current implementation cannot deal with unicode strings and iterator tests do not work on Python 3. Now, if you write 

    StringMock('{0}').format(u'абвгд')

you will get an `UnicodeEncodeError`. So, I propose the next changes:

* support of unicode strings;
* support of Python 3.2 and Python 3.3;
* refactored sources;
* added coverage support;
* `README.md` converted to `README.rst`, `README.txt` was deleted (PyPI works with rst out of box);
* added a couple of badges to readme ([view](https://github.com/oblalex/py_stringlike#stringlike));
* updated gitignore;
* updated manifest;
* added dependency for `six`;
* version update up to 0.3.3.

> Note: I've added badge for `Coveralls`. I think it's a good thing and to make it work, you need to go to [coveralls.io](https://coveralls.io), sign in with GitHub, sync your repos and add `py_stringlike` (just like on Travis CI). Coverage will be automatically updated by Travis. See [my Travis builds](https://travis-ci.org/oblalex/py_stringlike/builds) and [my Coveralls builds](https://coveralls.io/r/oblalex/py_stringlike) for example.
I'm not a huge fan of needing to import this function. Can we instead add an unimplemented method to the base class that children must override?