Reset margins and paddings of all elements inside of alchemy menubar.
FEATURE: New helper `render_site_layout` that renders a partial for current site.

It also adds a new generator that generates partial for all sites in your project.
Using to_partial_path for retrieving site layout partial.
CHANGE: Memorize `PageLayout.read_layouts_file` return value. Refs #386

This change means that a developer has to restart the rails server everytime she makes a change to the page_layouts.yml file.
Adds a Site::Layout module that handles site_layouts.yml
Ensure that at least the default Site is returned for `Site.current`
[FEATURE] Adds Site Layouts

Site layouts are similar to page layouts. You can define site layouts in `config/alchemy/site_layouts.yml`.

For now you can define page layouts that are only available for a specific site.

== Example:
  # config/alchemy/site_layouts.yml
  - name: default_site
    page_layouts: [contact, imprint]
Refactors Element.definitions into a Definitions concern.

This also enables memoization of element definitions. Closes #385 and closes #386
Memoize Cell.definitions yaml file.

Now all config files are memoized. \o/

This improves performance for large config files, but also has the drawback that everytime a developer makes changes to one of the config files (elements.yml, page_layouts.yml, cells.yml, site_layouts.yml and config.yml) she needs to restart the rails server.
Updates Ruby version info in Readme [ci skip]