Add support for more input formats to flex.load

### What is the problem / feature ?

The `flex.load` function only supported loading a yaml string, or the path to a yaml file.

### How did it get fixed / implemented ?

Added support for:
- json string
- json file path
- json or yaml file object
- native python mapping (like a dictionary)

### How can someone test / see it ?

Code

*Here is a cute animal picture for your troubles...*

![fox and squirrel](https://cloud.githubusercontent.com/assets/824194/4674203/c57b165c-55b1-11e4-8700-c609f0e7ee88.jpg)