Changes essence format validations API

The API of the format validations for essences is changed by this commit. It makes the usage more easy and intuitive.

It also brings a new feature: You can define individual format matchers in the config.yml that can be used in different places, i.e. for more than one essence definition without repeating the regex again and again.

What happened exactly:

* Removed the necessity of format_as/format_with being defined as separate keys in elements.yml
* Merged format_with and format_as validations to format.
* Added predefined format matchers in config.yml

Usage examples in elements.yml:

# Validates the url content to start with https://
- name: url
    type: EssenceText
    validate: [format: !ruby/regexp '/\Ahttps:\/\/[\S]+/']

# Validates the email content to have the correct format by looking up the regex from the config.yml
- name: email
    type: EssenceText
    validate: [format: 'email']

# Chaining validations.
The API of the format validations for essences is changed by this commit. It makes the usage more easy and intuitive.

It also brings a new feature: You can define individual format matchers in the config.yml that can be used in different places, i.e. for more than one essence definition without repeating the regex again and again.

What happened exactly:

* Removed the necessity of format_as/format_with being defined as separate keys in elements.yml
* Merged format_with and format_as validations to format.
* Added predefined format matchers in config.yml

Usage examples in elements.yml:

# Validates the url ingredient to start with https://
- name: url
    type: EssenceText
    validate: [format: !ruby/regexp '/\Ahttps:\/\/[\S]+/']

# Validating the format of an email address by getting the regex from the format_matchers in the config.yml.
- name: email
    type: EssenceText
    validate: [format: 'email']

# Chaining validations
- name: email
    type: EssencText
    validate: [presence, uniqueness, format: 'email']