Replaces org.apache.catalina.util.Strftime with rewrite supporting glibc extensions.

The original `org.apache.catalina.util.Strftime` does not fully implement all formatting supported and used in Android. It does as such not support built-in formatting strings such as `hour_minute_cap_ampm` ("`%-l:%M%^p`").
This patch supplies an implementation of `strftime` that includes the glibc extensions used in Android (notably case and padding formatting).

The patch also includes tests for two representative cases of Android formatting strings, as well as a nearly exhaustive test of all basic formatting characters.

Lastly two failing test cases are also fixed - one by correcting the expected test string, and the other by fixing date parsing in `parse3339(..)`.

This patch might be related to issue #798.