alot of XS changes

The .gitignore could be better but I couldnt find any good cross platform examples for EUMM mods, Tested on Win32 VC blead, Win32 VC 5.12 DEBUGGING, Win32 Strawberry GCC 5.8, FWIW my Win32 VC 5.6 test failed with 
```
        C:\p56\5.6.2\bin\MSWin32-x86\perl.exe "-MExtUtils::Command::MM" "-e" "te
st_harness(0, 'blib\lib', 'blib\arch')" t\01base.t t\02core.t t\03compare.t t\04
mjd.t t\05overload.t t\06subclass.t t\07arith.t
t\01base........#     Failed test (t\01base.t at line 3)
#     Tried to use 'Time::Piece'.
#     Error:  Exporter version 5.57 required--this is only version 5.562 at C:\D
ocuments and Settings\Owner\Desktop\cpan libs\Time-Piece\blib\lib/Time/Seconds.p
m line 7.
# BEGIN failed--compilation aborted at C:\Documents and Settings\Owner\Desktop\c
pan libs\Time-Piece\blib\lib/Time/Seconds.pm line 7.
# Compilation failed in require at C:\Documents and Settings\Owner\Desktop\cpan
libs\Time-Piece\blib\lib/Time/Piece.pm line 7.
# BEGIN failed--compilation aborted at C:\Documents and Settings\Owner\Desktop\c
pan libs\Time-Piece\blib\lib/Time/Piece.pm line 7.
# Compilation failed in require at (eval 1) line 2.
t\01base........NOK 1#     Failed test (t\01base.t at line 7)
#     specific gmtime isn't a reference
Can't locate object method "year" via package "Tue Jan  1 00:00:00 1980" (perhap
s you forgot to load "Tue Jan  1 00:00:00 1980"?) at t\01base.t line 9.
# Looks like you planned 7 tests but only ran 2.
# Looks like your test died just after 2.
t\01base........dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 1-7
        Failed 7/7 tests, 0.00% okay
t\02core........#     Failed test (t\02core.t at line 6)
t\02core........NOK 1#     Tried to use 'Time::Piece'.
#     Error:  Exporter version 5.57 required--this is only version 5.562 at C:\D
ocuments and Settings\Owner\Desktop\cpan libs\Time-Piece\blib\lib/Time/Seconds.p
m line 7.
# BEGIN failed--compilation aborted at C:\Documents and Settings\Owner\Desktop\c
pan libs\Time-Piece\blib\lib/Time/Seconds.pm line 7.
# Compilation failed in require at C:\Documents and Settings\Owner\Desktop\cpan
libs\Time-Piece\blib\lib/Time/Piece.pm line 7.
# BEGIN failed--compilation aborted at C:\Documents and Settings\Owner\Desktop\c
pan libs\Time-Piece\blib\lib/Time/Piece.pm line 7.
# Compilation failed in require at (eval 1) line 2.
Can't locate object method "sec" via package "Tue Feb 29 12:34:56 2000" (perhaps
 you forgot to load "Tue Feb 29 12:34:56 2000"?) at t\02core.t line 11.
t\02core........ok 2/96# Looks like you planned 96 tests but only ran 2.
# Looks like your test died just after 2.
t\02core........dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 1, 3-96
        Failed 95/96 tests, 1.04% okay
t\03compare.....Exporter version 5.57 required--this is only version 5.562 at C:
\Documents and Settings\Owner\Desktop\cpan libs\Time-Piece\blib\lib/Time/Seconds
.pm line 7.
BEGIN failed--compilation aborted at C:\Documents and Settings\Owner\Desktop\cpa
n libs\Time-Piece\blib\lib/Time/Seconds.pm line 7.
Compilation failed in require at C:\Documents and Settings\Owner\Desktop\cpan li
bs\Time-Piece\blib\lib/Time/Piece.pm line 7.
BEGIN failed--compilation aborted at C:\Documents and Settings\Owner\Desktop\cpa
n libs\Time-Piece\blib\lib/Time/Piece.pm line 7.
Compilation failed in require at t\03compare.t line 3.
BEGIN failed--compilation aborted at t\03compare.t line 3.
t\03compare.....dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 1-5
        Failed 5/5 tests, 0.00% okay
t\04mjd.........Exporter version 5.57 required--this is only version 5.562 at C:
\Documents and Settings\Owner\Desktop\cpan libs\Time-Piece\blib\lib/Time/Seconds
.pm line 7.
BEGIN failed--compilation aborted at C:\Documents and Settings\Owner\Desktop\cpa
n libs\Time-Piece\blib\lib/Time/Seconds.pm line 7.
Compilation failed in require at C:\Documents and Settings\Owner\Desktop\cpan li
bs\Time-Piece\blib\lib/Time/Piece.pm line 7.
BEGIN failed--compilation aborted at C:\Documents and Settings\Owner\Desktop\cpa
n libs\Time-Piece\blib\lib/Time/Piece.pm line 7.
Compilation failed in require at t\04mjd.t line 4.
BEGIN failed--compilation aborted at t\04mjd.t line 4.
t\04mjd.........dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 1-12
        Failed 12/12 tests, 0.00% okay
t\05overload....Exporter version 5.57 required--this is only version 5.562 at C:
\Documents and Settings\Owner\Desktop\cpan libs\Time-Piece\blib\lib/Time/Seconds
.pm line 7.
BEGIN failed--compilation aborted at C:\Documents and Settings\Owner\Desktop\cpa
n libs\Time-Piece\blib\lib/Time/Seconds.pm line 7.
Compilation failed in require at C:\Documents and Settings\Owner\Desktop\cpan li
bs\Time-Piece\blib\lib/Time/Piece.pm line 7.
BEGIN failed--compilation aborted at C:\Documents and Settings\Owner\Desktop\cpa
n libs\Time-Piece\blib\lib/Time/Piece.pm line 7.
Compilation failed in require at t\05overload.t line 4.
BEGIN failed--compilation aborted at t\05overload.t line 4.
t\05overload....dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED test 1
        Failed 1/1 tests, 0.00% okay
t\06subclass....#     Failed test (t\06subclass.t at line 10)
t\06subclass....NOK 1#     Tried to use 'Time::Piece'.
#     Error:  Exporter version 5.57 required--this is only version 5.562 at C:\D
ocuments and Settings\Owner\Desktop\cpan libs\Time-Piece\blib\lib/Time/Seconds.p
m line 7.
# BEGIN failed--compilation aborted at C:\Documents and Settings\Owner\Desktop\c
pan libs\Time-Piece\blib\lib/Time/Seconds.pm line 7.
# Compilation failed in require at C:\Documents and Settings\Owner\Desktop\cpan
libs\Time-Piece\blib\lib/Time/Piece.pm line 7.
# BEGIN failed--compilation aborted at C:\Documents and Settings\Owner\Desktop\c
pan libs\Time-Piece\blib\lib/Time/Piece.pm line 7.
# Compilation failed in require at (eval 1) line 2.
Bareword "Time::Piece::gmtime" not allowed while "strict subs" in use at t\06sub
class.t line 37.
Execution of t\06subclass.t aborted due to compilation errors.
t\06subclass....dubious
        Test returned status 255 (wstat 65280, 0xff00)
t\07arith.......#     Failed test (t\07arith.t at line 3)
#     Tried to use 'Time::Piece'.
#     Error:  Exporter version 5.57 required--this is only version 5.562 at C:\D
ocuments and Settings\Owner\Desktop\cpan libs\Time-Piece\blib\lib/Time/Seconds.p
m line 7.
# BEGIN failed--compilation aborted at C:\Documents and Settings\Owner\Desktop\c
pan libs\Time-Piece\blib\lib/Time/Seconds.pm line 7.
# Compilation failed in require at C:\Documents and Settings\Owner\Desktop\cpan
libs\Time-Piece\blib\lib/Time/Piece.pm line 7.
# BEGIN failed--compilation aborted at C:\Documents and Settings\Owner\Desktop\c
pan libs\Time-Piece\blib\lib/Time/Piece.pm line 7.
# Compilation failed in require at (eval 1) line 2.
t\07arith.......NOK 1Can't locate object method "mon" via package "Tue Feb 29 12
:34:56 2000" (perhaps you forgot to load "Tue Feb 29 12:34:56 2000"?) at t\07ari
th.t line 9.
t\07arith.......ok 2/25# Looks like you planned 25 tests but only ran 2.
# Looks like your test died just after 2.
t\07arith.......dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 1, 3-25
        Failed 24/25 tests, 4.00% okay
Failed Test    Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t\01base.t      255 65280     7   12 171.43%  1-7
t\02core.t      255 65280    96  189 196.88%  1 3-96
t\03compare.t   255 65280     5   10 200.00%  1-5
t\04mjd.t       255 65280    12   24 200.00%  1-12
t\05overload.t  255 65280     1    2 200.00%  1
t\06subclass.t  255 65280    ??   ??       %  ??
t\07arith.t     255 65280    25   47 188.00%  1 3-25
Failed 7/7 test scripts, 0.00% okay. 144/146 subtests failed, 1.37% okay.
NMAKE : fatal error U1077: 'C:\p56\5.6.2\bin\MSWin32-x86\perl.exe' : return code
 '0x2'
Stop.

C:\Documents and Settings\Owner\Desktop\cpan libs\Time-Piece>
```