Recognize all parts marked with 'multipart/'

Gerrit currently only recognizes a subset of multipart MIME messages.
Apache James supports all known types and this change makes it so that
Gerrit does too.

This fixes a bug where inbound emails would not be parsed, because the
message was signed and is therefore wrapped in a 'multipart/signed'
part.

Change-Id: I0de8820188e5295731d9253c9bb3f452da96908a
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/receive/RawMailParser.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/receive/RawMailParser.java
index 3e45e02..3ba9de7 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/receive/RawMailParser.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/receive/RawMailParser.java
@@ -156,7 +156,7 @@
       } else if (part.getMimeType().equals("text/html")) {
         htmlBuilder.append(result);
       }
-    } else if (isMixedOrAlternative(part.getMimeType())) {
+    } else if (isMultipart(part.getMimeType())) {
       Multipart multipart = (Multipart) part.getBody();
       for (Entity e : multipart.getBodyParts()) {
         handleMimePart(e, textBuilder, htmlBuilder);
@@ -168,8 +168,8 @@
     return (mimeType.equals("text/plain") || mimeType.equals("text/html"));
   }
 
-  private static boolean isMixedOrAlternative(String mimeType) {
-    return mimeType.equals("multipart/alternative") || mimeType.equals("multipart/mixed");
+  private static boolean isMultipart(String mimeType) {
+    return mimeType.startsWith("multipart/");
   }
 
   private static boolean isAttachment(String dispositionType) {