added ace.require and advanced options feature to the library.

This pull request has 3 major changes.

1. the issue where settings are loaded twice is fixed.
2. the ability to support the `ace.require` function is now implemented, and added to the docs.
3. the ability to support other options not specifically declared is now available, and added to the docs.

This allows for more configuration, the example I give here is adding autocompletion to the directive without any more javascript code, like this;

```html
<div ui-ace="{
  require: ['ace/ext/language_tools'],
  advanced: {
      enableSnippets: true,
      enableBasicAutocompletion: true,
      enableLiveAutocompletion: true
  }
}"></div>
```

I am sorry for the previous pull request and how messy it got. This is my first time doing a pull request, so I am still a bit confused. I hope this is more usable.