Fix  HttpUrlConnection DELETE without body

The following commit allowed HTTP DELETE with body:
https://github.com/spring-projects/spring-framework/commit/584b831bb9390a49c791d180d023e3a585203215

However it broke buffered requests even without a body since JDK 1.6
and 1.7 do not support calls to getOutputStream with HTTP DELETE.

This commit set the doOutput flag back to false if the actual buffered
body is 0 length.

Issue: SPR-12361
Consistent declaration and use of UTF-8 Charset constants, plus related polishing
Polishing
Apply extra checks to static resource handling

- remove leading '/' and control chars
- improve url and relative path checks
- account for URL encoding
- add isResourceUnderLocation final verification

Issue: SPR-12354
Next Development Version
Add Id to JmsListenerEndpoint Docs

Issue: SPR-12425
Merge pull request #692 from garyrussell/SPR-12425

* SPR-12425:
  Add Id to JmsListenerEndpoint Docs
Fix bytecode generation for SpEL OpPlus

Without this change the plus operator would fail to
include a CHECKCAST in generated bytecode when it
was compiled in cases where one of the operands
has a runtime type of String but a statically
declared type that was not String (i.e. Object).

Issue: SPR-12426