Стоит ли в репозиторий делать коммиты, содержащие методы с NotImplementedException?
Да, это часть процесса разработки. Это нормально.
по пп.2 соглашусь частично, только с оговоркой, что в п. тесты должны быть "зелёными" (даже при нереализованных методах).
я считаю (и не только я, мейнтейнеры и разработчики самого Git'а - тоже), что каждый коммит должен быть "рабочим": как собираться (build), так и проходить все тесты.
вот для примера моя пара коммитов в Git:
первый
https://github.com/git/git/commit/d928d81051fc8475... - добавляет в том числе тесты, которые не проходят (expect failure)
следующий коммит 
https://github.com/git/git/commit/7d509878b845a2a8... - исправляет ошибку и исправляет лишь expected failure на expected success в ранее добавленных тестах.
таким образом, когда вы или кто-либо будет искать ошибочный коммит с помощью git bisect, он имееет больше шансов быстро найти его, запустив git bisect run, не прибегая с ручной проверке каждого коммита или коммитов, где тесты падают, например.