Fix ACursor.get to decode failures as Option

The following two ways of decoding a field's value were not equivalent:

  1. `downField(a).downField(b).downField(c).as[Option[A]]`
  2. `downField(a).downField(b).get[Option[A]](c)`

More details in the tests.