moved media source and set info to their own module, added test case, added in media_set info from @hroberts (fixes #2)