Add impl Serialize and Deserialize for Option<Url>
This commit is adding impl Serialize and Deserialize for Option<Url> which is intended to be used with serde serliaze_with and deserialize_with for derived ser/deser when an url field is optional. This commit is also adding some tests for derived Serialize and Deserialize via serde serialize_with and deserialize_with, as custom_derive is stable since rust 1.15.