ELY-5 - Implemented Unix SHA Crypt

This is a first refactored version of the first implementation [jpkrohling/wildfly-elytron/ELY-5-UnixSHACrypt](https://github.com/jpkrohling/wildfly-elytron/tree/ELY-5-UnixSHACrypt), and is *not* meant to be merged, as I'm mostly looking for feedback. 

Things that I'd particularly like to get reviewed are:
- Dependency on JUnit
- Overall coding style (including javadocs)
- Possible performance issues
- I'm not sure I quite understood the architecture, so, would be nice to check if the code is where it's expected to be.

But of course, any kind of comment is welcomed. As I mentioned on the IRC, I found this JIRA and decided to give it a try, just for fun. I'm not sure if you already have a specific implementation in mind for this, but if not, this could be a good candidate.
This doesn't actually happen here (and it shouldn't) so it probably should not be part of this doc.  It might make more sense to put this in the UnixSHACryptPassword interface doc (or maybe not).