Specify Y2R behavior using a document in Markdown

This commit adds a document that specifies how Y2R translates various
YCP constructs into Ruby. It serves both as a human-readable
documentation and as an executable specification. Technically, this is
implemented by translating the document from Markdown into RSpec.

This document replaces existing integration tests.
Various spec improvements

Mostly increasing coverage + cleanups.