Scripted fields interface

Adds interface to create, edit and remove scripted fields from the index pattern.

- New interface lives in settings/indices in a new tab called "Scripted Fields"
- Button to add new scripted fields
- Interface to create an edit scripted fields
  - Includes error message when using a name that matches an existing indexed field

Also adds another change to the `paginated-table` directive - columns can now be marked as not sortable.

This completes the second task on #1537 
Maybe we could use an IndexedArray here to consuming the types simpler. If it was an array of objects, with a generic and specific type then we could index on specific type to support the `castMappingType()` function, and display the types in sorted groups in `ng-options` (think the field select box in visualize).