Respect component dependencies

the current implementation of `grunt-bower-concat` does not respect the dependencies of the components on each other.

this pull request contains the creation and resolving of a dependency graph. this allows to decide in which order the components needs to be concated into the destination file.