Add root HTML template

Add a root HTML template that will be used as the template for most
pages. It includes the page metadata, header, and footer and allows the
page content to be specified by setting the $page placeholder.

The syntax for including files and variables is only a vague idea at the
moment. `@x` will include the template `x`, and `$y` will be substituted
with the value of variable `y`. The identifier can be enclosed in curly
braces in case it is immediately followed by valid identifier characters
(like `${foo}bar`).
Add head, footer, and header templates
Git ignore bin directory
Add basic template expansion algorithm

Add a basic template expansion algorithm that repeatedly looks for
template includes and then data placeholders, replacing them with the
appropriate content until none are left to replace. Template includes are
recursively processed.
Add metadata to head template
Use quotes for HTML lang attribute

It's best to be consistent.
Abort build if template not found
Add bare template for home page
Add header and footer template content
Markup Person microdata on home page
Replace unset data with empty string
Add syntax for repeated data insertion
Use lambdas instead of functools.partial
Write generated file to build directory
Stop ignoring bin directory

The choice of build directory is totally up to whoever is compiling, so
they can add their directory to the local .git/info/exclude if they
like.
Add initial SCSS stylesheet
Rename build.py to compile.py
Add build script that compiles styles

Add a build script that generates the HTML pages and then compiles
stylesheets using Compass. Because Compass doesn't provide a nice way to
compile into an arbitrary build directory, the Compass configuration is
generated at compilation into the build directory and Compass is run
from there. `compass watch` can be used from the build directory once
the config file exists.
Fix directory for compiled HTML
Provide build instructions in README.md