Merge pull request #1623 from cesine/master

Localization and contextualization and dashboard uses app for shared state between objects
Merge pull request #1627 from cesine/master

Psycholinguistics Dashboard iteration 8 - Locale chooser
Merge pull request #1638 from cesine/updateAngular

Update spreadsheet's angular
not showing microphone if audio was deleted fixes #1641
for some reason the field was not existing
not using server in audio files until #1640 is fixed
renaming 'selected' to 'activeDatumIndex' to reduce collision from external libraries in the scope and to make it more clear that it refers to which datum is in edit mode'
jshint
added a test for page forward arrows but the pagination is not working (renaming selected was an atempt to figure out if it was beeing overriden by something)
found a bug in the items per page when the records passed were undefined, added a test
not running anything if allData is empty
dont need to do scope apply if its not an arrow key for #1636
traced the numberOfResultPages calls to the template (it get called 6 times in a row for each x event result in more than 30 calls on page load with only 5 datum showing
found that the page change was being caused by a directive which only watched the currentPage, it seems like it should be in the same controller as the functions that provide the arrows so removed teh directive and put the watcher in the controller
added tests for pagination
moved pagination footer into a directive so it can be on all the templates with no effort
updating yale template to use the arrow keys directive in the new way
breaking the templates into multiple directives
figured out how the templates worked by dividing and formatting fixing unclosed divs and making each view fit in a row
for #31  moving reader and writer permissions to control which template the user has access too, rather than polluting every element in the templates for #1456