can interpolate expressions in schema config file

1. Made a very tentative version of the Schema class that supports the new feature in "sc.js".
2. Modified test schemas, and all tests go through
3. some refactoring (using some underscore util methods instead of the crappy ones I made :P), use assert.ifError

feature recap:
For example, {"name": "{{chance.name({middle_initial: true})}}"} will produce names with middle initials.

4. added Faker as a second data generator
5. added utility method 'counter' that can be called in schema config file
`Array.isArray`