Use ContextTypeAttribute during migration discovery

/cc @rowanmiller & @emilcicos 

I also did some manual bashing on this for additional functional verification.
The name IsForContextType is a bit misleading. This would read "Migration assembly is for context type <type>" but <type> is not a context type. I would rather have a GetContextType(Type type) that retrieves the attribute.ContextType and then do a comparison of the types in the linq queries above.