Fix regression that prevented registering Go migrations that didn't have the corresponding files
available in the filesystem. (#588)
If Go migrations have been registered globally, but there are no .go files in the filesystem,
always include them.
If Go migrations have been registered, and there are .go files in the filesystem, only
include those migrations. This was the original motivation behind #553.
If there are .go files in the filesystem but not registered, raise an error. This is to
prevent accidentally adding valid looking Go migration files without explicitly registering
them.