Make MagicalRecordInternal.h public

Yes, it's a bad filename
Do the weak/strong dance so that the weak reference to self isn't unpredictably set to nil