ADD build scripts and basic blocks

Чтобы это всё поднять, просто делаешь в этом бранче
```bash
make # Поставятся все зависимости
make watch # Запустится сервер
```
Сборщик сначала установит нужные для сборки npm-пакеты, потом нужные bower-библиотеки, а потом поднимет сервер. Зайдёшь на [http://localhost:8080/](http://localhost:8080/) и увидишь страничку.

### package.json

Тут я сделала наш проект npm-пакетом, чтобы добавить в него зависимости от других npm-пакетов, которые нужны для сборки. Сборщик, который здесь используется — [enb](https://github.com/enb-make/enb).

### Код-стайл

Я добавила утилиты для проверки код-стайла JavaScript и CSS — [jshint](https://github.com/jshint/jshint), [jscs](https://github.com/jscs-dev/node-jscs) и [csscomb](https://github.com/csscomb/csscomb.js), чтобы не было каши в коде. О них и о файлах их конфигурации тебе не надо думать, просто советую поставить плагин CSScomb к твоему редактору, чтобы он причёсывал CSS.

Каждый раз, когда ты делаешь `git commit`, будет проверяться код-стайл того, что ты коммитишь. Если он не в порядке, закоммитить тебе не удастся. (В момент `make` добавляется [прекоммит-хук](http://git-scm.com/book/ru/v1/Настройка-Git-Перехватчики-в-Git), который это обеспечивает).

### Сборщик ENB

[ENB](https://github.com/enb-make/enb) собирает из всех маленьких файлов большой `index.html` и `index.css`. То, как он это делает, написано в `.enb/make.js`. Дока у ENB достаточно подробная, так что не буду тут описывать, как это всё работает. Тебе сильно глубоко в этом копаться тоже пока не надо, лучше делай блоки.

### GNUmakefile

Это просто такая штука, которая позволяет сделать так, чтобы проект собирался одной командой. К бему никакого отношения не имеет, типичная юниксовая штуковина. Про него вообще не думай.

### Шаблонизатор BH

У него есть [понятная документация](https://github.com/bem/bh/blob/master/README.ru.md). Каждый блок (его шаблон, его css, его js) лежит в своей папочке `blocks/имя-блока`. Шаблон записан в файле `blocks/имя-блока/имя-блока.bh.js`. Это простой JavaScript-модуль, который экспортирует функцию, которая принимает аргументом шаблонизатор `bh`. Дальше читай доку BH. Я создала базовые блоки: страницу, шапку, футер, ссылку, заголовок. Твоя задача — создать недостающие блоки и добавить их на страницу.

Весь HTML разворачивается из этой нехитрой конструкции:
```js
{
    block: 'page',
    mods: { type: 'index' }
}
```
В шаблоне `page/_type/page_type_index.bh.js` написано, какой у этой страницы должен быть контент. 
Кроме установки каких-то свойств `ctx` из шаблона можно вернуть новый BEMJSON *(JSON, описывающий BEM-дерево)*. Это делается вот так, как в этом примере. Описано [в документации](https://github.com/bem/bh/blob/master/README.ru.md#%D0%9F%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-bemjson-%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%B0).

Зачем это нужно? Для того, что в блоке `title` у тебя уже написано, какой использовать тег, например. И чтобы здесь не дублировать эту информацию, можно применить шаблон блока `title`, а `contact__title` просто примиксовать. Когда ты миксуешь в BEM к блоку *A* блок *B*, шаблоны блока B не применяются, просто добавляется класс блока *B*.