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 password class should only deal with the decoded material.  Since it only deals in bytes, the encoded field should be null, as should the reported charset/encoding.

When we do the CryptStringPasswordSpec handling, after all the various crypt types have been implemented, that will be a different story.  The key material will be a string (like what you'd find in a /etc/shadow file or similar) and will be translatable to/from various algorithms' "raw" form.