Allow cursor returns from SQL functions

Update CallMetaDataContext to use the metaDataProvider
createDefaultOutParameter method when creating a SqlOutParameter as
a result of a SQL function call.

This change allows Spring to support Oracle cursor types when returned
from functions.

Issue: SPR-10606
(cherry picked from c16b21)
Fixed handling of @Resource's shareable value

Issue: SPR-10931
(cherry picked from commit 7bc3e3b)
Removed S0 from BadSqlGrammarException codes

S0 doesn't seem to be universally used for SQL grammar problems: see MS SQL Server's RAISERROR. This was reported years back; not sure why the fix didn't actually appear in the codebase back then.

Issue: SPR-10902
(cherry picked from commit d9b6203)
Fixed BadSqlGrammarException usage in transaction test suite

Issue: SPR-10902