Ответы:
1)
Grunt - для удобства.
Bootstrap - не всегда правда нужен, но знать обязательно.
Ознакомьтесь с
Mocha (читается как
мокко или
мокка, но не моча... мокка - сорт кофе)
Выбирете для себя
препроцессор
Хотя бы посмотрите что такое
node.js.
Git обязателен (ну кнечно можно выбрать другую систему контроля версий).
Для больших поддерживаемых проектов
Bower.
2) Не факт... разные бывают проеты и разная стилистика иногда достаточно только сетку взять и то это тоже бывает не нужно. Иногда встречаются проекты с кодом css примерно 800 строк кода (вместе с reset и общих стилей). По поводу БЭМ - его нужно в меру тоже. Верстать по БЭМ вслепую, не задумываясь а нужен ли он тут, тоже может привести к неприятным последствиям. Если это мелкий лэндинг который на 95% не будет расти то тотальная стилистика БЭМ будет лишней. Но что касается больших проектов то Вы полностью правы.
3)
hexlet