Optimization for android in Namespace URI creations.
Fixed performance issue inside Location constructor, issue coming back to Namespace.
API change to avoid use of URI at all (very slow in both android and regular jdk).
Optimization for seamless Headers creation (reusing StringBuilder in readLine and toString). DalvikVM and Android still perform badly in short lived objects creation. Fixed bug in Namespace string uri path creation.
Optimization of ServerClientTokens.getHttpToken, avoid use of replaceAll regex based and use StringBuilder char method when possible.
DRY refactor
Don't create and append unnecessary String objects with log calls when sending datagrams, too expensive.
Header key normalization is now optional. On android, with lots of devices sending messages this method can consume a large amount of CPU, increased the readLine StringBuffer and performed some light optimizations that matter on Android inside the normalize() method.
Don't create unnecessary String and StringBuilder objects for logging.
Importing code from apache commons io.
Adding MimeDetector to common.
Refactor to have better common search code.
Minor visibility change in http server Code class.
Deleted commons-io jars from common (using minimal source code).