Implement chunk upload

Add MultipartUploadService. It is used to upload files larger than 50 MB. Add HashService which is used to generate the hash for a file.

When the zipped project is bigger than 50 MB we often receive ECONNRESET error as such big file cannot be uploaded. So we upload it by chunks by using the server api. The file is validated with its hash, so we calculate it and send it to the completeUpload call. Currently the server does not verify each chunk hash.

Add tests for MultipartUploadService and HashService. Add some overloads of getFileHash method in IHashService - this way in case you try using it, you'll receive information about supported encodings.

http://teampulse.telerik.com/view#item/281320
Merge pull request #590 from Icenium/vladimirov/file-chunk-upload

Implement chunk upload
Change detection logic of .net fx. Now we consult the registry before executing the affected command

Fixes http://teampulse.telerik.com/view#item/281473
Merge pull request #593 from Icenium/totev/net40-2

Release console when starting the simulator
Improve emulate command
Merge pull request #589 from Icenium/fatme/improve-emulate

Improve emulate command
Use ios-sim-portable from npm