Detect flex take 2

this reverts #6689 which reverted #6681 and fixes an accidental double-nesting of `.has-flex-wrap &` which broke some list items.

http://www.browserstack.com/screenshots/8505648367a174246dfd10a5d29f83fe9388322b - this was broken by first attempt

http://www.browserstack.com/screenshots/9dd521a51bf3be892cf322c104a39aa6c533225d - this was broken in non-flex-non-IE before first attempt

FF22
![screen shot 2014-10-23 at 11 14 20](https://cloud.githubusercontent.com/assets/867233/4751381/4b4137c2-5a9d-11e4-9169-63178050b34b.png)

IE11
![screen shot 2014-10-23 at 11 14 36](https://cloud.githubusercontent.com/assets/867233/4751383/529a54ea-5a9d-11e4-92ad-440660615d15.png)