perf(infiniteScroll): Use isolate scope

- Change to use isolate scope with & binding
Allow to add custom CSS class to popup
[Bug] Default value overwrites the option's value.
Added unit test
Update platform.js

This is returning a number rather than a string. Not sure if the doc or the code is incorrect. To return a String you'd need to return device().v instead of device().version.
Adding sass variables for footer, subfooter and subheader heights
Allowing to footers and subheader with diferent height.

FIX #2334
adding tests for both subheaders and subfooters
fix(tabs): Fixed font sizes
fix(bar): fix title font weight
fix(bar): move font weight to variable
fix(navBar): calc correct button width before enter
fix(sideMenu): enable menu w/ different historyId back view
Update popover.js

Hi, just added an example for the .fromTemplate() method in the docs
Using $button-border-radius on button-bar buttons
refactor(clickBlock): only use click block when animating
refactor($compileProvider): always add $scope to element

Parts of Ionic requires that $scope data is attached to the element. We
do not want to disable adding $scope data to the $element when
$compileProvider.debugInfoEnabled(false) is used.
feat(platforms): allow overriding platform in querystring
Fixed cheeky assignment
fix(slideBox): if selected binding is string, parse to integer
amend(slideBox): check index validity when select happens