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
Add delegate to log timings
Add delegate to log histogram
Make InvokeReportDelegate private and fix minor typo
Add delegate to log session settings (session data)
Remove space between method names and open parenthesis
Use events instead of delegates to forward the profiler data
Add ProfilerEventHandlers.cs to *.sources
Fix unreachable code error
Merge branch 'profiler-logger' into dev-m3
Moved URLLoader profiling hooks to main thread
Merge branch 'dev-m3' into ps-is-fix
Merge pull request #338 from playscript/ps-is-fix

Compiler is-operator fix
Fixed BinJson tests, made sure all of binjson was being tested to ensure it doesn't break.