Conform to Siren spec by getting rid of NonEmptyList in Siren model

While we discussed keeping the `NonEmptyList` in the Siren model, I noticed while working on support for deserializing from play-json to the Siren model that being so strict will cause problems when using siren-scala for implementing Siren clients: Empty JSON arrays (i.e. `[])` are perfectly valid in Siren, so if we want to support building API clients, we must support that in our model of Siren.