Give option on how git tracks submodules.

Fixes https://github.com/ansible/ansible/issues/7030

Allows user to decide if git submodule should track branches/tags or track commit hashes defined in the superproject.

Add track_branches parameter to the git module.

Defaults to track branches behavior.
Sorry, but this sounds like 5 monkeys and a ladder.
(http://www.wisdompills.com/2014/05/28/the-famous-social-experiment-5-monkeys-a-ladder/)

Yer its a breaking change and should, by semantic versioning, require a version bump, but if this is broken, isn't it best just to fix it, so it makes more sense for future new comers to ansible?

I'd hazard a guess that more people are being tripped up by this (as they're most likely new and inexperienced with ansible), than the number of people that would get tripped up by fixing it.
 * A. because existing users would be more experienced in ansible
 * B. because it can be a well documented breaking change that existing users knowingly bring upon themselves by upgrading.
 * C. this is the submodule behaviour that happens on eg. travis