Added medium model

Used a polymorphic association to connect different kind of media
(e.g. Audio, Video, Image, Document) to medium model
Record necessary VCR cassettes
Added MediumUploader

Added medium column to media model
Added file_name and file_size to medium model
Initialized CarrierWave
Set file_name, file_size and content_type of a medium from CarrierWave
Updated spec_helper to remove temp directory after all tests run
Set permissions of uploaded files to 0644
change the filename of uploaded file with an UUID
Set the store directory based on media type and original filename
Set MediumUploader to accept Persian chars in filename
Whitelisted a set of extensions
Updated some files which Travic CI be able to run tests

travis.yml: waiting for elasticsearch to start
gitmodules: change the git repo address to https
spec_helper: allow webmock net connection through localhost
Updated rails version to 4.1 and remove jazz_hand and fivemat gems
Added test_prepare rake task which deprecated from rails 4.1 so Travis
rake task won't be failed
Removed db/seeds.rb and handled johnGalt user with FactoryGirl
Updated rspec-rails to version 3.0.0.beta
Recorded new VCR cassettes and removed unused ones