Always update card type for all card constructors

This will fix Amex number validation when using card constructors with address/zip.
Added support for Discover cards validation

Added a length-based validation for Discover cards.
Moved literals to constant fields for clarity.
Updated .gitignore with IntelliJ files.
Fix for null zip code
Update .gitignore for Android Studio, gradle
Embed the default publishable key to mirror iOS and also have the project build by default.
Add gradle build files
Use the latest build tools (19.0.3).
Fix test directory.
Slightly nicer wording here.
Add .log files to gitignore
Merge branch 'lyft-master' into phil-fixes

Conflicts:
	.gitignore
Merge branch 'master' of github.com:cbliu/stripe-android into cbliu-master
Merge branch 'cbliu-master' into phil-fixes