refactor($compile): require explicit declaration of multi-element directive

Before this change, any directive would automatically be treated as a multi-element
directive, and nodes between <node directive-start> and <node directive-end> would be
grouped together.

After this change, it is necessary to explicitly request this grouping functionality,
by setting the directive's "multiElement" property to a true.

This allows the use of attributes ending in '-start' and '-end' to be applied to the Attributes
object correctly.

BREAKING CHANGE

Directives which previously depended on the implicit grouping between directive-start and
directive-end attributes must be refactored in order to see this same behaviour.