[Fixes #45588387] Refactors Mail API

When introducing the postmark service, i tried
to implement it on top of the javax.mail API-
the javax.mail.Message object was simply translated
into JSON and posted to the postmark service.

However, since the Javax.mail API is quite complex,
had to make several assumptions about which parts
to implement a mapping to the postmark json format.

This makes it easy for bugs to arrive when a new
component (or this case, an existing component)
uses a part of the javax.mail api for which
no mapping to the postmrk json format is implemented.

To address this properly, have introduced a simpler
API (the message object) which has a simple structure
and can be easily mapped either to the postmark message
format or to the javax.mail api for sending via smtp.
[Finishes #45352079] Swing Geoadmin app + rest enhancements
Removed Swagger stuff

In the end, swagger was attractive but several problems:
o Incompabilities with GAE due to use of internal sun.*
  classes and difficult to update (for us) because the
  core modules are writen in scala
o Limitations with jersey subresources
o code generator written in scala and difficult to
  get up and running
o client libraries will likely need hand-tuned
  specialization anyway, such as the java version's
  integration with geotools
[Finishes #45352275] Merge identically named Attributes together in Pivot Tables

Updates PivotSites and the UI to treat identically named attributes as the same
when we get to the pivot stage --

otherwise AttributeGroups retain their per-Activity identity, but this greatly
facilitates defining attributes across multiple activities / dbs
Adds missing french translation
Corrects case of SQL query

(we are now using CloudSQL, where we have no ability to put
mysql in lower_case_table mode)
Ensures that empty attributes are handled correctly
Corrects location of test resource
Checks in XML configuration screenshot
Merge branch 'staging' into production