Let children() method use optional filter argument

As mentioned in GitHub #38 issue, let children() method
allow optional filter argument as `qr//` or code reference.
If invalid argument is given then children() will be croaked.
I setted code reference received two arguments, the first one
is `$self` and the second one is the name of the child to avoid
some object creation/stringification overhead.  I can't convince
`$self` is really needed or not, but it was always useful in my cases.
Added new tests for various argument of children()

- Regexp argument
- code reference argument
- invalid argument
Use `$/` rathern than `\n` for portability
Child name shoud be put into localized `$_` for coderefs
restrict children() to only take Regex argument
v0.028

    [ADDED]

    - The 'children()' method now takes an optional regular expression to
      filter the results
bump Changes
defactor called_as for one less sub call
don't check caller unless needed
Fix bugs handling "C:\" and other Win32 roots

We strip a trailing slash to get splitpath to give us a basename,
but we can't do this for root paths.  Old algorithm didn't account
for C:\ or \\server\share\ type roots.

I think this is still buggy for raw \\server\share (no trailing slash)
or degenerate UNC paths, but I don't know how much logic I care to put
in for that use case.  Ditto for "C:" except that has a meaning
which is cwd on that volume.
Fix Win32 root path handling

Bare volumes "C:" get expanded to getdcwd() for that drive.

UNC volumes get trailing slash restored (since canonpath strips it)
fix win32 volume root normalization and test it
Document drive expansion on Windows; update Changes and META
run perltidy
bump Changes
fix getdcwd test for windows
guard Windows specific calls in t/zzz-spec.t
bump Changes
- fail case for ->parent

Signed-off-by: Gabriel Andrade <gabiruh@gmail.com>
expand failing tests for parent with internal dots