And do whatever PUT does.
Merge pull request #273 from sonatype/nexus-ruby-support-47

Fixes for Ruby support
Reimplementing lost feature.

Restlet1x based content resource did the same.
And Ruby plugin does depend on this, so returning
the FULL URL back, just as it was done before
when content was served by Restlet1x.

Redoes PR done by @mkristian
https://github.com/sonatype/nexus-oss/pull/274
warn -> debug static resource overlapping message for now
[NEXUS-6045] drop unused static resource finder
[NEXUS-6045] move web resource types to org.sonatype.nexus.web package,
refactor into WebResource* names,
move CacheControl into WebResource
Drop useless AbstractNexusResourceBundle
[NEXUS-6045] cleanup names used by servlet, these aren't really purely _static_ resources
[NEXUS-6045] move web-resource specific plugin support bits to org.sonatype.nexus.plugin.support
[NEXUS-6045] tidy docs
[NEXUS-6045] tidy plugin resource, docs
[NEXUS-6045] dev mode resource tostring
[NEXUS-6045] docs and make nullables clear
[NEXUS-6045] Renderer -> TemplateRenderer, drop useless finals and modifiers in intf
[NEXUS-6045] impl tidy
no need to sync get() here
NEXUS-6169: MKCOL method returns 501

Overriding service method to return old
behavior, to return 405 Method not allowed
instead of 501 Not Implemented.
NEXUS-6156: Deleted files left after optimize

This was due to the fact that SearcherManager
maybeRefresh() method was invoked only before
ANY search attempt, that made manager perform
a bookkeeping that released deleted files.

This is basically true to any operation modifying
and committing to index, but is most "visible"
after optimizing of huge index, as it left
Lucene index with double sized segments (the
deleted files got copied into new segment file).

Still, since all the ops doing "heavy lifting"
like merge or replace on context does invoke
optimize as last step, having this happen
here is okay thing, in contrast to do the same
on IndexingContext#commit, where it would happen
"too often" harming the performance of small
but frequent index changes (ie. deploys).
NEXUS-6156: No need for finally

As if acquire throws IOEx, there will
be nothing to be release (variable "is" will
be null) anyway.
Merge pull request #275 from sonatype/NEXUS-6045-webresource-cleanup

REVIEW: [NEXUS-6045] webresource cleanup
[NEXUS-6045] drop CacheControl, all impl of WebResource had this, just make it part of the WebResource api,
Changed WebResource.getLastModified() to return long (instead of Long), it was being misused anyways if this was ever null it would have puked,
Use URLConnection.getContentLengthLong(),
Drop more unused static bits from restlet plugin,
Unwire licensing resources from NexusApplication since they are pointless now,
Drop NexusApplicationCustomizer, not used by us anymore and any users who may have been using it will have to rewrite to be functional again anyways,
Simplify servlet module/names