Release version 1.2.4

I finish working on release 1.2.4.
Attempt to perform data binding with lists

I try to perform Grails data binding features with lists.  However,
until now it is not successful yet.

Furthermore, I upgrade to Grails 2.1.1 because I hoped the data binding
problem would be resolved.
Migrate to Grails 2.1.1

First, I migrate to Grails version 2.1.1.

Then, I add the missing module descriptions for documents.
Upgrade plugins

I upgrade the following plugins:

- cloud-foundry, version 1.2.3
- standalone, verison 1.1.1
Move plugin declarations to BuildConfig.groovy

According to an advice from the Grails guide I move all plugin
declarations from application.properties to BuildConfig.groovy.

Furthermore, I add a configuration that the stacktrace.log file is not
generated within a WAR file if the application is started from WAR.
Bugfix: new plugin config prevents starting

The new plugin configuration in BuildConfig.groovy prevented the
application from starting via grails run-app.  The reason was the
cloud-foundry plugin must be moved to the compile scope.
Final working version with plugins

I finally fix the problem that cloud-foundry plugin is necessary for
run-app but its JAR files should not be included in the resulting WAR
file.

Furthermore, I move jsunit to the test scope and svn to build in order
to remove it from the resulting WAR, too.  Now, the WAR file is about 10
MB smaller than before.
Declare dependencies in BuildConfig.groovy

I declare the dependencies of the application in BuildConfig.groovy if
possible.  There are some dependencies like FOP and Barcode4J which
cannot declared there because the transitive dependencies fetch thinks
like xml-apis which in turn collides with existing implementations.
Maybe later we have a solution for this problem.
Bugfix #261

First I fix bug #261: NPE when saving a purchase invoice.  It was caused
by a missing constraint for field "tax" and a missing check for null
values when computing the tax classes.  Nonetheless, the null check is
necessary because the tax classes are computed before validation.

After fixing this I recognized that the user doesn't get information
about what is wrong in items of invoicing transactions.  So I add a
service class and a method to obtain the error messages for embedded
items.
User settings as separate domain class

Because of permanent Hibernate bugs when loading user settings via a Map
in class User I implement the user settings as a separate domain class
UserSetting.  For convenience, the user settings are loaded when the
User instance is instantiated and are made available as a Map.
User settings as map

Mainly, I implement the user settings as a Map implementation.  The map
supports inserting, updating, and deleting settings when it is changed.
This is a far better approach than the user settings in the last commit.

Furthermore, I fix a bug in scripts.js that the currently selected font
size is not marked in the view.
Several bug fixes (also blocker)

I fix several bugs:

- When creating a dunning from an invoice the invoice items are deleted
  in the database.  This is caused by cleaning the items in the invoice
  object before copying them to the dunning.  But due to the setting
  "transactional = true" in ViewService the so modified invoice is
  stored before the getItemErrorMessages method of ViewService is
  called, causing the deletion of all items of the particular invoice.
  This bug obviously is a blocker.
- By working on the bug above I also check all services which actually
  need transactional = true and set them to false instead.
- A NPE occurred when calling getItemErrors() on an invoicing
  transaction which was created by the copy constructor.  This
  constructor must call this() before to benefit from dependency
  injection.
- I change the e-mail addresses to the amc-world.de domain when
  notifying about software errors.
Merge branch 'unstable' into dev

Conflicts:
	.classpath
	.settings/org.eclipse.core.resources.prefs
	.settings/org.grails.ide.eclipse.core.prefs
	application.properties
	grails-app/i18n/messages.properties
	grails-app/migrations/changelog.groovy
	grails-app/views/layouts/invoicingItems.gsp