fix limited-panning logic/math
Replaced deprecated 'setServer()' with 'setEndpoint()'

setServer() has been deprecated and it is removed from retrfit v1.5
Make keystore.props.file local.properties' entry optional

A stumbling block for any Muzei developer who initially tries to checkout and then import Muzei into Android Studio is that the keystore.props.file entry in local.properties is required, causing the import to error out until you 1) figure out why the error occurred and 2) figure out how to fix it.

As there are few, if any, Muzei developers who need to build a release build (the only time when these values are actually required), we can make the keystore.props.file value optional, allowing new developers to immediately checkout, import, and build a debug APK without issue.

Building a release build with a null storeFile will error out the build as expected, but in that case the developer is more likely to know where to look - in the signingConfig.releaseConfig section which defines this loading behavior.
Ensure GLPicture loading does not freeze on low blur amounts

On some devices such as the Nexus 10 and Samsung Galaxy Note 2014, when you use a low amount of blur (triggering the mMaxPrescaledBlurPixels == 0 case), blurrer.destroy() freezes the app, causing images to no longer load until you force stop the app. As the ImageBlurrer is not actually needed unless mMaxPrescaledBlurPixels is greater than 0, we can move the allocation and destruction of it inside the else block. This ensures that the app works as expected in either case.
Update Gradle and Build Tools to latest releases

Gradle Plugin to 0.13.0, Gradle to 2.1, Build Tools to 20.0.0, Android plugin renamed to new 'com.android.application'.

This will ensure that Muzei compile and build out of the box on Android Studio 0.8.11 (which is now the minimum compatible version).
Convert Advanced Settings Layout to GridLayout

GridLayouts are the new, more performant alternative to TableLayout (as explored in #3). This diff converts the advanced settings layout to use a GridLayout, allowing text to align to the right properly and grow the width of the left column as the text changes (as would happen in different languages).

This uses some extremely lightweight Space elements with columnSpan="2" to add spacing between rows (rather than applying a marginTop to an element and aligning as was done in the RelativeLayout). To keep the number of views low, however, the checkbox rows that only a single element still use marginTop
Add basic RTL support to layouts

Replaces instances of left/right with start/end to declare initial support for RTL layouts. Did not touch settings_advanced_fragment_include_content.xml as that should be covered in #77
Ensure proper RTL support for settings_advanced_fragment_include_content.xml
Fix checkbox gravity in RTL layouts

By default, checkboxes end align the text in RTL layouts when fill_horizontal is used. Switch to using 3 columns in the GridLayout where the sliders span the last 2 columns (filling the entire space) while the checkboxes wrap_content, ensuring that the text and checkboxes stay together in RTL layouts.
Update to Android 5.0 SDK, build tools, and Support Library (v21)

No changes to actual functionality or taking advantage of new APIs.
Implement Android 5.0 notification color and public version

Notifications in Android 5.0 can have a background color over the small icon and can specify a separate public and private version (where potentially sensitive details can be hidden from the public version). This implements both features, using a blue grey color matching the system apps' notification color and hiding the image and the artwork title from the public version.
Optimize notification large icon and Android Wear background sizes

Large icon size is set by android.R.dimen.notification_large_icon_height and changed between pre-Android 5.0 and 5.0. To ensure the best large icon, we use the provided dimension - Android by default does not center crop too large of images so the fixed size was giving strange results, particularly on low resolution devices.

While there isn't a set size for BigPictureStyle backgrounds, this background is used on Android Wear devices, which suggest a 400x400px background per http://developer.android.com/training/wearables/notifications/creating.html#AddWearableFeatures - we load a separate background image of this size.
Export Gallery Settings activity

Fixes #71 and brings Gallery Settings activity in line with third party extension requirements.
Move Gallery Settings change intervals to strings.xml

Gallery Settings change interval strings were hardcoded in the menu XML file. Moving them to strings.xml to allow future translations to include these strings
Update to latest build tools version 21.0.1
Update to latest build tools version 21.0.1
Use ContextCompat/EnvironmentCompat to simplify file directory logic

Support Library provides ContextCompat.getExternalCacheDirs and ContextCompat.getExternalFilesDirs with alongside EnvironmentCompat.getStorageState allow use to simplify the logic of picking the best cache and files directories in a backward compatible way.
Update build tools to 21.0.2

Update to the latest build tools to pull in latest fixes
Add Intent Filter to link directly to notification settings on Android 5.0+ devices

Per Cyril Mottier's G+ post (https://plus.google.com/+CyrilMottier/posts/YY6tbJrJMra), Android 5.0 adds the ability to directly link to an application's notification settings when long pressing on the notification. Adding this functionality allows users to directly jump to Muzei's notification settings (part of the Advanced settings screen) from the notification.
Update to Gradle plugin 0.14.1 and build tools 21.1 for Android Studio 0.9.1