Fixes for ODID and ConnectionManager ProtocolInfo extraction

Had to make some updates to how ConnectionManager retrieved resources/
 ProtocolInfos from MediaObjects. Since the previous changes enable a
 better partitioning between engine-provided resource parameters and
 HTTPServer-provided resource parameters (e.g. protocol & delivery params),
 the ConnectionManager ProtocolInfo logic needs to get server-adapted
 resources instead of just the engine-provided resources in the
 MediaObject list. Added MediaObject.get_resource_list_for_server()
 to do this, which ConnectionManager now uses.

Added a HTTPServer.recognizes_uri() method when I thought about having
 get_resource_list_for_server() in-place modify the MediaObject
 MediaResource list. In this case, the server-generated URIs would need
 to be recognized & rewritten. Ditched this since I couldn't convince
 myself it wouldn't introduce issues processing simultaneous CM calls
 and browse/search (esp on some containers). But left the method on
 HTTPServer in case it's needed.

Tightened up MediaResource.to_string(), removing use of ProtocolInfo in
 order to avoid assertion errors when printing MRs without the protocol
 field set.

Added a hard-coded 'protocol = "http-get"' to ODOD.MediaCache.save_resources()
 to avoid issues using ProtocolInfo.to_string(). The MediaResource can't be
 server-adapted at this point. But we're using the to_string() to store the
 resource metadata in the DB. So we need it to not assert on us. Added a
 TODO to deal with this in a better way.