Add alternative instance for Unpacking

As requested, Alternative instance for Unpacking, which allows us to do something like:
```haskell
{-# LANGUAGE OverloadedStrings #-}
module Main where

import Data.Packer
import Control.Applicative

main :: IO ()
main = print $ runUnpacking (bigNumber <|> littleNumber) "1234"

bigNumber, littleNumber :: Unpacking Int
bigNumber = fromIntegral <$> getWord64LE
littleNumber = fromIntegral <$> getWord32LE 
```