Cleanup refactorings (code reuse, indents and typos). No functional
changes.
Refactoring of DictionaryMetadata attributes and their handling.
Attributes are an enum with string-based values and parser attached to
enum constants. The .info property file is strictly checked for any attributes
not in the set.

Squashed commit of the following:

commit bceba18c8994ee2b94968b108fbc5d50325798d4
Author: Dawid Weiss <dawid.weiss@carrotsearch.com>
Date:   Thu Jul 4 13:20:55 2013 +0200

    Added optional license/author/creation date attributes.

commit 061602b9a2e0cd21679dbd8bf14252bc3c0c7b1a
Author: Dawid Weiss <dawid.weiss@carrotsearch.com>
Date:   Thu Jul 4 13:06:34 2013 +0200

    in progress.