[DBUTILS-37] BeanListHandler#handle(ResultSet) is not optimal
Submitted by: Julien Aymé
Julien's patch created a separate OptimalBeanListHandler to avoid breaking users who had extended BeanListHandler; I chose to just replace the existing one rather than clutter the API
With this change, we now attempt to use ParameterMetaData.getParameterType to determine the SQL type of a null parameter. On Oracle, this will fail, so we'll try it once (at most), and record the failure in a volatile boolean so we won't try it again unnecessarily.