Introduce platforms.json

Introduces a new file platforms.json that captures the cordova engine
versions and the platform libraries that are included with them along
with their download locations. DownloadableCordovaEngine is the model
object for carrying this information and EngineDownloadDialog now uses
this object to list and start a download.

Signed-off-by: Gorkem Ercan <gorkem.ercan@gmail.com>
Use platforms.json for version mapping

Starts to use the platforms.json file to map library versions to engine
versions. Changes PlatformLibrary to avoid duplicates on a
HybridMobileEngine. Fixes the DownloadableCordovaEngine so the library
version number is used instead of the engine version. 

Signed-off-by: Gorkem Ercan <gorkem.ercan@gmail.com>
Decouple cordova repository operations

Decouples the repository operations such as determining downloadable
engines. Fixes an issue with the HttpUtil. Adds
DefaultEngineRepoProvider which querries a json file for an updated list
of Cordova engines and falls back to local copy if not found.

Signed-off-by: Gorkem Ercan <gorkem.ercan@gmail.com>