Новый владелец дернул всю инфу из кэша гугла. Сделано это для того чтобы поисковики не понижали рейтинг сайта в своей выдаче. Ему скорее всего до лампочки ваше содержимое, он всего лишь торгует рефералами с раскрученного вами домена.
Еще нужно сказать, что автозагрузка стоит только на первый уровень подкаталогов в app. Если ваша библиотека большая и серьезно структурированная, то возможно вам все же в lib?
Думаю возможно. Но это будет уже отдельный модуль для миграций. В нем создаете функцию, в которой вызываются методы add_column, add_index и т.п. Далее делаете include в классе миграции и вызываете эту функцию в up. Но у меня большой вопрос в целесообразности. Миграции по сути это одноразовый код, рефакторить его вы будете с помощью новых миграций. Мое мнение - в данном случае более верно использовать копи-паст.