Re-implemented PicaDecoder based on a state machine.

The old PicaDecoder used regular expressions to parse PICA+ records. 
This let to two problems:

 * Errors in the data resulted in exceptions which did not refer to the    
   portion of the data that caused the problem (e.g. a character index)
 * Due to the use of String.substring() for extracting data from the  
   record the full record was kept in memory (see issue #51)

The new PicaDecoder was written to solve these problems. The first one
was addressed by constructing the parser so that it only fails in two
clearly defined situations (missing id field and unexpected end of
record). The second one was solved by copying the parsed data portions
into new strings. 

In addition to the problems listed above, the following issues were
addressed:
 
 * #109 -- removed support for static usages of the encoder
 * #112 -- removed support for appendControlSubField. If Metamorph is  
   extended to pass data through (issue #107), this functionality can 
   easily be implemented in a script. It is also not clear how widely it 
   is used at all.
 
While having removed support for control subfields the new decoder
introduces a range of new options:

 * ignore missing id -- do not fail on missing ids but use an empty 
   string as record id
 * skip empty fields -- do not output fields without subfields or empty
   subfields only (i.e. subfields without name and value)
 * fix unexpected end of record -- if a record does not end with a field 
   delimiter one will be automatically added.
 * normalize UTF8 -- automatically performs UTF8 normalization of values
 
The unit tests have been rewritten to match the new options and to be
more useful for debugging.
Skip unnamed fields without subfields.

Updated the PicaDecoder to skip fields which have neither a name nor
contain any non-empty sub fields. 

This commit also introduces a new state which simplifies testing if the
parser is a valid end state.
[maven-release-plugin] prepare release metafacture-core-1.1.0
[maven-release-plugin] prepare for next development iteration
Add a wrapper for WildcardTrie enabling simple character classes
Make use of SimpleRegexTrie
Add test for simple character class match
Add test for simple character class match
Merge branch 'simple-character-class' of github.com:dr0i/metafacture-core into simple-character-class

Conflicts:
	src/test/java/org/culturegraph/mf/morph/MetamorphTest.xml
Fix wrong namespace (dcterm->dcterms)
Merge pull request #136 from dr0i/marc21-edm-dcterms-namespace-fix

Fix wrong namespace (dcterm->dcterms)
Merge pull request #113 from cboehme/parsing-pica-decoder

Re-implemented PicaDecoder based on a state machine.
Merge pull request #135 from dr0i/simple-character-class

Simple character class
Added two additional test cases to ensure that records ending with a
subfield indicator are handeled correctly (see issue #137)
Improved record id extraction from field 003@$0.

The new code handles record ids properly if they are at the end of the
record and not terminated by a field or subfield delimiter.
Fix #137: Refactored the pica parser to be more lenient.

The parser does expect fields and subfields to end with a field or
subfield marker anymore. This should allow parsing of pica serialisation
variants which use the markers as delimiters as well as variants which
use the markers as indicators.

The fixUnexpectedEOR option was removed as there is no unexpected end of
record anymore.