Extract base class into social media objects
Use better name for superclass
Allow passing just url string
Better class name

Use factory method for creating a social media object or link
Stricter rules for google+ validation
Move url specific logic to Link class
Helper method for verifying invalid url format
Support more Facebook url variations
Allow special characters in Google url

Surprisingly, Google+ allows it
Parse Youtube channel and playlist urls as links
Url variations for common social medias
No need to custom check Google+ validity
Return nothing when only passing invalid url

Instead of breaking everything, like before
Always cycle the provider classes when validating
Remove unusued attr_accessor methods
Merge branch 'social-media-objects'