Fix regex for ActorPath so it can handle escaped characters correctly

Escaped characters, i.e. % hex hex, for example "%2a" should be matched by the regex, but the regex used the named Unicode character class N. Like this
    %\p{N}{2}
i.e. percent followed by exactly two characters from the named Unicode character class N, All Numbers.

The problem with that character class is that it also contains other number characters, such as Ⅷ⅓, so "%Ⅷ⅓" was matched by the regex.
However the character class do not contain the hexadecimal letters a-f so "%2a" was not allowed.

Changed
    %\p{N}{2}
to:
    %[0-9a-fA-F]{2}

Allow usage of parenthesis ().
Note that AKKA JVM does not allow parenthesis ( ) but, according to RFC 2396, those are allowed and since we use URL Encode (see Akka.Remoting.AddressUrlEncoder) to create valid actor names, we must allow them too.
Implicitly cast a TestProbe to an ActorRef
Use SystemGuardianActor instead of GuardianActor
Allow eventfilter to match paths without system name for source

Previously the full path was needed when specifying the source, including the actor system name.
This commit makes it possible to use paths without system name (paths with system name are still allowed):

    EventFilter.Exception<ActorInitializationException>(source:"/user/failing-actor").ExpectOne(()=>
      ActorOf(Props.Create<FailsOnInstantiationActor>, "failing-actor")
    );
Log ActorInitializationException instead of underlying exception

We currently log the underlying exception of an ActorInitializationException since I screwed up porting this from AKKA JVM a week back. :)
We should only use the message from the underlying exception, and still log the entire ActorInitializationException.

This is important since it's otherwise impossible to test that ActorInitializationException is thrown.
Increase the timeout for the test that proved that bug #209 is fixed.

The test seems to timeout on appveyor. Since the previous commit wasn't enough I hope this fixes that problem.
Merge pull request #525 from HCanber/bug209fix-increase-timeout

Increase the timeout for the test that proved that bug #209 is fixed.
Merge pull request #519 from HCanber/fix-remotewatcherspec

Fix regex for ActorPath so it can handle escaped characters correctly
Merge pull request #520 from HCanber/implicit-cast-testprobe

Implicitly cast a TestProbe to an ActorRef
Merge pull request #523 from HCanber/log-ActorInitializationException

Log ActorInitializationException instead of underlying exception
Merge pull request #521 from HCanber/use-SystemGuardianActor

Implement and use SystemGuardianActor instead of GuardianActor
Merge pull request #522 from HCanber/testkit-filter-source-without-system-name

Allow EventFilter to match paths without system name for source
Unified spawning functions. Explicit function signatures. F# Formatting. Logging and inboxing functions.
F# API changes: spawning functions, logging, inbox wrappers, F# Formatting
fixed pipeTo function
F# logging update - used predefined lazy logger adapter