Flexbox mixin adjustments

Added a variable here to suppress `box-direction: normal` in instances where it is unnecessary.  Not sure if this should default to true or false, so I've set it to true so that the test doesn't have to be updated.

```scss
$flex-legacy-enabled: true;
.foo {
	@include flex-direction(row-wrap);
}
```
Output:

```css
.foo {
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -webkit-box-direction: normal;
  -moz-box-direction: normal;
  -webkit-flex-direction: row-wrap;
  -ms-flex-direction: row-wrap;
  flex-direction: row-wrap;
}
```

Since `normal` is the default value for `flex-direction`, there's no reason to to emit it unless we're actually overriding a reverse value set elsewhere.

```scss
$flex-legacy-enabled: true;
.foo {
	@include flex-direction(row-wrap, $normal: false);
}
```
Output:

```css
.foo {
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -webkit-flex-direction: row-wrap;
  -ms-flex-direction: row-wrap;
  flex-direction: row-wrap;
}
```

Unless someone can find a browser that supports the draft from early 2012 under the -webkit` prefix, I'm recommending setting it to false.  The sources I've been able to dig up indicate that all the mobile devices are either 2009 (the Android emulator confirms this is true for the most recent version, can't confirm for iOS) or standard (Blackberry 10).  Chrome does not support it in v26 (would have to do some digging to find out exactly when it was dropped).

Quick support demo:  http://codepen.io/cimmanon/pen/gFvmx

There seem to be a few other minor changes that slipped in that should have been a separate commit (function was renamed and global variables were reorganized).  Sorry about that.