MIRTH-3170: Fixed a couple of small issues with Bootstrap container collapsing.
The Document Writer now uses a different library (PDFBox) to encrypt PDF files. The previous library we were using (iText 2.1.7) is no longer compatible with newer versions of BouncyCastle. iText is still used to create the initial PDF file, and PDFBox is only used to perform the encryption.
Issue: MIRTH-3110
MIRTH-3164, MIRTH-3165: Added the ability for users to easily change the max heap size used by the Administrator on the launch page.

There are now two new possible entries in mirth.properties. The first, administrator.maxheapsize, determines the default heap size set in the JNLP served via the web start servlet. The second, administrator.maxheapsizeoptions, determines what heap size settings are available for the user to choose from on the launch page. We add the former setting automatically on migration, but the latter setting is hidden; when absent the default is 256/512/1024/2048 MB.

On the launch page there is now a cog button next to the launch button, which opens up a dropdown menu. In that menu, the user can specify the max heap size for the Administrator. That selection is passed into WebStartServlet in the GET request, and is used to populate the max-heap-size attribute on the j2se node. If not specified in the request, the servlet will instead use the value in mirth.properties. If mirth.properties doesn't have it, it will use our new default of 512 MB, hard-coded in mirth-client.jnlp.
Custom metadata will now always be updated after a dispatcher executes, regardless of whether a response transformer runs.
Issue: MIRTH-3142