Don't depend on ServiceType.toString() internally.
Added toDnsString() for internal use instead.
The public toString now appends the subtypes after the type, separated with comma.
Added a static ServiceType.valueOf(String) method, as an inverse of toString().
Set source file encoding to UTF-8.
Javadoc fix.