Merge branch 'PR_1509_UPDATE' of https://github.com/totallyeviljake/MonoGame into totallyeviljake-PR_1509_UPDATE
Merge branch 'develop' of https://github.com/borrillis/MonoGame into develop
Initial Commit.

Working with platforms:
* Windows Phone 8
* Windows 8
* Windows GL

Next step, separate Binaries only package and add Mono Platforms
Added Windows implementation of GetData to Texture3D
Fix GetData in Texture2D.
Switching from properties to fields in GetData in Texture3D
Added tests for Get/SetData members of Texture2D and Texture3D
Fix row pitch support in GetData in Texture2D and Texture3D
Some fixes to PSM rendering

Added TexCoord to BasicEffect shaders
Removed default BlendState for BasicEffect pass
Renamed reserved word Texture effect parameter in BasicEffect
Look for EXACT vertex buffer match (vertex and index array sizes must match request)
Tested and working for:
* WindowsGL
* Windows 8
* Windows Phone

Will create a separate package for the existing 3.0.1
Added 3.0.1 package for current release
Next to add binaries only versions of packages
Missed the version update to the main NuGet package.
Removed #define DIRECTX from Texture3D.cs
Initial check in of Binaries only packages, non-functional as yet - query out to NuGet team
Add a few missing equality operators to Input structs.

Add equality operators and Object.Equals() overrides to the
GamePadButtons, GamePadDPad, GamePadThumbSticks, and GamePadTriggers
structs in the MonoGame.Framework.Input namespace.
Make SoundEffect.Play not throw an exception on iOS if it fails to play, return false instead as we are meant to.
Implement TryPlay on other platforms.
Fix playing multiple music tracks, previously when the first one finished we'd play the second which would reset the queue.
Fix android song end detection. _androidPlayer is static but wasn't being correctly treated like it was.

Also fix Duration and Position properties (milliseconds not seconds)
Remove _initialized check from DrawableGameComponent.GraphicsDevice

Initially i put the check there as was implemented by @Aztherion.

I did some testings and found that XNA doesn't enforce any similar test.
After all GraphicsDevice is already initialized by Game. It's logical
that someone might want to do some non-content initialization on the
constractor of DrawableGameComponent based on values from
GraphicsDevice.