Packed version of @ciel commits

- added ace.require and advanced options feature to the library.
- my first unit test in javascript, ever!
- added a unit test to see how many times ace.require is called if given parameters.
- added unit test to ensure that 'setOption' is not called if no advanced options are defined.
- added unit test to determine if given advanced options were defined.
- feat(directive): require and advanced options

add "require" array for specifying ace.require loads, and add "advanced" object in the directive options for specifying unlisted ace options. This is done to try and make customizing the editor more robust from the directive alone, and possibly eliminate the need for controller code related to the editor.

Original Auteur :     ciel <stacey.cielia.lynn@gmail.com>