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
Merge pull request #76 from ianhanniballake/update_gradle

Update Gradle and Build Tools to latest releases
Merge pull request #74 from ianhanniballake/blur_freeze

Ensure GLPicture loading does not freeze on low blur amounts
Merge pull request #73 from ianhanniballake/optional_keystore

Make keystore.props.file local.properties' entry optional
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.
Merge pull request #77 from ianhanniballake/settings_gridlayout

Convert Advanced Settings Layout to GridLayout
Merge pull request #78 from ianhanniballake/rtl_support

Add basic RTL support to layouts