Packed version of @ciel commits

# 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>


---


Here is how I correct the git history :

```sh
# Create a new branch from the origin/master
git co -b feat-ace-add-require-and-advanced-option origin/master

# Pull your history into it
git pull git@github.com:ciel/ui-ace.git master

# Rebase interactive from the origin/master 
git rebase -i origin/master 

# squash all the commit to the fist one
# pick xxxxx
# s xxxxx
# s xxxxx
# ...

# Repeat for all conflicts to always keep your last modif
git co --ours . && git add . && git rebase ---continue
```