don't transition between identical backgrounds
fix edge case in background transitions (closes #604)
generate background hash under additional conditions
add convex background transition
add concave and zoom background transitions
Add attributes in markdown for slide generation.

By default, look for <!-- slide-attributes: xxxx -->.
Whatever 'xxx' is will be added to the section attributes.

You can define your own pattern with 'data-attributes'.
For instance 'data-attributes="^\s*?-- (.*?)$"':
that will be added to the options.

The 'attributes' section is removed from the content of the slide,
so the final markdown doesn't reflect them.
That also means you can add those attributes *anywhere* in the slide

But that allows for *any* attribute to be added for a specifc slide,
like:

- id="plan", for allowing internal link (issue #430)
- data-background="#ff0000"
- data-transition="fade"

You list those attributes on a single line, like

- (default):
` <!-- id="plan" data-background="#ff0000" -->`
- or, with an alternative data-attributes pattern:
` -- id="plan" data-background="#ff0000"`

Again, that line is remove from the final content.
Fix bug on data attributes for first vertical slide.

The first slide of a vertical stack see some data attributes ignored.

Mainly the data-transition one.

Repeat all data-attributes on the wrapping section element.

Ignore any other attributes (like 'id="xxx"'), in order to not
mess with internal links (by repeating twice an id).
Make sure a pattern doesn't include space.
Fix markdown vertical wrapping section element generation.
Rebased on dev, and following contribution guideline.
Fix markdown.js slideAttributesSeparator selection.
Add QUnit.js unit tests for attributes in Markdown slides.
Restore proper pattern for attributes in elements.

It is important that test/test-element-attributes-markdown.html do test
the ability for the user to define its own pattern.
Restore default notation for attributes in element.

It should be `{. xxxx=yyy }`, not `{_ xxxx=yyy }`.
Only test/test-element-attributes-markdown.html were using `{_`,
simply in order to test the ability, for the user, to define a _different_ pattern.
Fix default separator pattern for attribute in slide.
Remove console.log debugs, and fix tabs
Add unit test for default slide attributes separator pattern.
Add mardown-based slide attribute examples.