fix($compile): check clashing directives before compilation

Clashing directive check was not working correctly when two directives requested `'element'` transclusion because one would start a new compilation (a recursive sub procedure) with any duplicate info being reset.

This PR moves the checking to its own loop which is executed before the actual compilation.