Fix http://issues.apache.org/bugzilla/show_bug.cgi?id=56653
Fix concurrency issue with Mapper$ContextList when removeContextVersion() is called.

Followup improvement to http://issues.apache.org/bugzilla/show_bug.cgi?id=44312
Make the removeHost(), removeHostAlias() methods more strict. They now check whether type of the mapping that they are removing.

ContextList class is made immutable.
Added HostMapping class. It allows to update ContextList instances in MappedHost.
The HostMapping.alias flag allows to discern whether it is the primary mapping or an alias.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1604319 13f79535-47bb-0310-9956-ffa450edef68