using HttpClient to support universal app projects

HttpClient is available for portable class libraries
adding alternative way to get unique hardware ID

Fix for this exception:
0Newtonsoft.Json.JsonSerializationException: Error getting value from
'HardwareId' on 'PushSDK.Classes.RegistrationRequest'. --->
System.ArgumentException: Value does not fall within the expected range.

1 at
Windows.Networking.Connectivity.ConnectionProfile.get_NetworkAdapter()
2 at
PushSDK.Classes.SDKHelpers.<GetDeviceUniqueId>b__1(ConnectionProfile p)
3 at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
4 at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
5 at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
6 at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
7 at PushSDK.Classes.SDKHelpers.GetDeviceUniqueId()
8 at lambda_method(Closure , Object )
9 at
Newtonsoft.Json.Serialization.ExpressionValueProvider.GetValue(Object
target)
10 --- End of inner exception stack trace ---
11 at
Newtonsoft.Json.Serialization.ExpressionValueProvider.GetValue(Object
target)
12 at
Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.CalculatePropertyValues(JsonWriter
writer, Object value, JsonContainerContract contract, JsonProperty
member, JsonProperty property, JsonContract& memberContract, Object&
memberValue)
13 at
Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter
writer, Object value, JsonObjectContract contract, JsonProperty member,
JsonContainerContract collectionContract, JsonProperty
containerProperty)
14 at
Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue(JsonWriter
writer, Object value, JsonContract valueContract, JsonProperty member,
JsonContainerContract containerContract, JsonProperty containerProperty)

15 at
Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter
jsonWriter, Object value, Type objectType)
16 at Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter
jsonWriter, Object value, Type objectType)
17 at Newtonsoft.Json.JsonConvert.SerializeObjectInternal(Object value,
Type type, JsonSerializer jsonSerializer)
18 at Newtonsoft.Json.JsonConvert.SerializeObject(Object value)
19 at
PushSDK.PushwooshAPIServiceBase.<InternalSendRequestAsync>d__0.MoveNext()

20--- End of stack trace from previous location where exception was
thrown ---
21 at
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
task)
22 at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task)
23 at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
24 at PushSDK.RegistrationService.<SendRequest>d__3.MoveNext()
25--- End of stack trace from previous location where exception was
thrown ---
26 at
System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>b__3(Object
state)
27 at System.Threading.WinRTSynchronizationContext.Invoker.InvokeCore()
28--- Inner exception of type System.ArgumentException start ---
29--- Message: Value does not fall within the expected range. ---
30System.ArgumentException: Value does not fall within the expected
range.
31 at
Windows.Networking.Connectivity.ConnectionProfile.get_NetworkAdapter()
32 at
PushSDK.Classes.SDKHelpers.<GetDeviceUniqueId>b__1(ConnectionProfile p)
33 at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
34 at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
35 at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
36 at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
37 at PushSDK.Classes.SDKHelpers.GetDeviceUniqueId()
38 at lambda_method(Closure , Object )
39 at
Newtonsoft.Json.Serialization.ExpressionValueProvider.GetValue(Object
target)
40--- End of inner exception stack trace ---