id3tag: Correctly validate the year from v1 tags before passing to GstDateTime

By using strtoul(), invalid values will get mapped to MAXULONG and we
would have to check errno. They won't get mapped to 0.

To solve this, use the signed g_ascii_strtoll(). This will map errors to
0 or G_MAXINT64 or G_MININT64, and the valid range for GstDateTime is >
0 and <= 9999 so we can directly check for this here.

Fixes gstreamer/gstreamer#384
17 jobs for id3tag-v1-year-validation in 78 minutes and 42 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Preparation
passed #263640
gst indent

00:00:33

passed #263639
manifest

00:00:40

 
  Build
passed #263641
build fedora x86_64

00:04:43

passed #263642
build nodebug fedora x86_64

00:13:19

 
  Test
passed #263721
check fedora

00:02:58

passed #263644
integration testsuites fedora

00:07:42

failed #263643
check fedora

00:13:44

 
  Full Builds
passed #263646
build cerbero android universal

00:17:12

passed #263647
build cerbero cross win32

00:07:36

passed #263648
build cerbero cross win64

00:05:32

passed #263645
build cerbero fedora x86_64

00:06:06

 
  Full Tests
passed #263652
valgrind bad

00:05:10

passed #263649
valgrind base

00:29:23

passed #263653
valgrind ges

00:03:59

passed #263650
valgrind good

00:29:57

passed #263651
valgrind ugly

00:02:06

 
  Apps
passed #263654
android universal examples

00:06:50