Fixed implicit casting in BinJSON to slavishly match AS3.
Merge branch 'master' of https://github.com/playscript/playscript-mono into binjson7
Add IDeepClonable and IConvertibleImmutable to implement deep clonable data trees and immutable objects that can be converted to mutable.
Merge branch 'dev-m3' of https://github.com/playscript/playscript-mono into binjson7
Make sure we're checking for undefined in TryDeepClone().
Merge branch 'dev-m3' of https://github.com/playscript/playscript-mono into binjson7
Fixed issue with PSGetIndex not checking if string was different for hint id.  Removed KeyCrcPair from BinJSON implementation.  Made sure CloneToExpando is optimal.  Made BinJSON implement a weak cache to always return the same object.  Implemented proper mutability conversion. Removed nonfunctional non-AOT pscorlib.dll and PlayScript.Dynamic from build.
Finished removing Dictionary.length.
Merged with current dev-m3
Merged PSGetIndex.cs
Send proper error event if we did not get 200OK from HTTP response.
Fixed ArrayIndexTest to report errors
Merge branch 'dev-m3' of https://github.com/playscript/playscript-mono into binjson7

especially if it merges an updated upstream into a topic branch.
Merge pull request #335 from playscript/binjson7

Binjson7
Use ImplicitToString with reflection serializer to avoid null as "null"
Return null in GetTypeFromAlias when aliasName is empty
Fixed issue with Timer.stop().
  Timer.start() would add the timer to the active list.
  Timer.stop() would just clear the running state (but the timer would
still be in the active list).
  Over time, if start() and stop() were called multiple times, the timer
would be added and advanced multiple times on a given frame (with the
exact same time).

  Took the opportunity to make the add / remove timer sequence more
robust in case of multiple start / stop sequences on the same frame.
Add missing reference to IConvertibleImmutable.cs
Move Device, Model and SystemVersion to methods
Add delegate to log load milestones