LPS-50530 Create Hook
LPS-50530 Add properties
LPS-50530 Add needed model wrappers
LPS-50530 Add startup action to populate expando
LPS-50530 Hook services and add thread local support through the portal's thread local cache.  We have to use the portal's because we are going to set the thread locals on the jsps.
LPS-50530 Add asset renderer and factory to extend the default ones
LPS-50530 Add init-ext.jsp this contains all the logic we need for the other jsps.  DLFileNameWrapperFileEntryImpl and DLFileNameWrapperFileVersionImpl are just copies but we need them to be accessible to the portal jsps, it doesn't matter that they are not actually the same class because they are used separately.
LPS-50530 Hook jsps but always include the original. Only change what is in the request/passed when possible. When that's not possible use a thread local to indicate when the FileEntry/FileVersions should be wrapped.
LPS-50530 Hooking the jsps wasn't working very well.  Instead, set the thread local in render_portlet-ext and retrieve through the invokation handler.
LPS-50530 Fix guest user not seeing the display titles
LPS-50530 Hook asset entries
LPS-50530 Hook Services and LocalServices together for consistency
LPS-50530 Also override toEscapedModel/toUnescapedModel to keep FileEntries/FileVersions from becoming unwrapped (this fixes the breadcrumb)
LPS-50530 Have search show display title
LPS-50530 Fix asset url, and remove asset renderer
LPS-50530 Since we've wrapped the services we don't need to wrap the renderer anymore
LPS-50530 Fix list lists and unwrap exceptions
LPS-50530 Fix staging removing special characters, in that case the file is added with the expando attributes which were getting overwritten by the title
LPS-50530 Cover even more cases, we only need the thread local because we do an unsafe cast to LiferayFileEntry when we stage.
LPS-50530 Ran "ant setup-eclipse"