Update serde dependency to 1.0
This changes updates serde dependency from 0.9 to 1.0 line. Only root sources update (no updates in sub-crates). Added lifetimes to Deserialize trait implementations. Use ownership instead of mutable reference and return results with associated types.