Fetching "real" data for multiple select-inputs, like categoryCombo, optionSets, mapLegendSets, etc.

Only resolving for CREATE at the moment, for testing reasons.
dataElementService.getElement() now utilizes the getAllElements() method to get the requested item;

The reason is that we think it's better to get all of the waiting\loading done before the app is further used; This way there will only be minimal loading later in the app. This is only a downside if the app is initialized on a route requesting a  single element; In normal, getAllElements() would be used anyways.

 Also fixed route.resolve for clone to remove ID of the cloned object, so it's truly a NEW clone, and not the exact same element.
Critical bug fixed: Cloning an element would edit the original copy, instead of a copy; This is fixed with angular.copy();

Added a third option for the edit view's title: "Cloning data element: " xxx; In addition to "Creating new data element" and "Editing data element: " xxx.
Commented a few things, and made small tweaks;

comments are for guidance for everyone to know what's left out of the code still.
Added directive template for loading;

Added app.config for checking active requests and determining if the app is loading\waiting for requests.
Added loading-gif; css-class for loading,updated directive and tweaked it to fit on the app. Let's hope it looks ok in DHIS2 on other monitors aswell :P
Added simple animations for changing views :)
Loading text changed to something more amusing :)
Moar animations; This time for edit view; Too much? :S
Merge pull request #3 from henninglh/Routing-and-resolves

Routing and resolves
Merge branch 'master' of github.com:henninglh/inf5750
Temporary commit:
Validation for unique-ness added (dataElementService + editCtrl)
validation errors are cleared before re-validated
If data is a duplicate(name), a confirm-box appears and lets the user decide if they want to cancel or go back to form.
Promises, promises, promises; They are everywhere... ugly, but it works, and I'm not sure it's possible to do it any other way because of the async requests that might happen.
ID should now be set correctly when adding elements
Not adding element if the element is a duplicate (Stupid api tricked me)
Created should be complete? Not sure, but as far as I can tell, it is :)
Comments will come later! :)
Added a "-clone" to name and shortName to make sure we avoid duplicate errors if someone instantly presses SAVE :)
Edit added:
- Exception for edit when checking unique (Since this is an existing element, unique fields are bound to have duplicates, unless they are the subject of the edit)
- Updating elements
- Sending http req (PUT)

Everything looks like it's working like it should!? :S
Removed console.log
Added angular-ui-select
Added "Aggregation Levels" field in edit\clone\create
Tested, and it works!
And it looks good (enough?)

I think i'm finally finished with this part of the task?
Fixed gulpfile.
Added version to angular dependency.
Converted list to table, also added more data.