Load code in the src/code/ directory to allow for custom definitions.

The new functionality allows for the user to create custom functions
and definitions in the code/ directory. This definitions will be
loaded before the site is created and can be used in the templates.
Create a new namespace ecstatic.code to contain all the users definitions.

The new namespace is the namespace in which the users definitions
residing in code/ get loaded. The namespace provides short-hands for
hiccup namespaces for convenience.
Implement the core functionality to allow snippets in the templates.

NOT TESTED!
Partially apply the snippet function to in-dir for use in hiccup templates.

Bind the snippet var to a version of snippet that is partially applied
to in-dir and thus takes only the name of the snippet as
argument. This allows for the use in hiccup templates.
Markdown snippet files and multimethod split-and-to-html.

A first test for markdown snippets worked. It was necessary to change
md-files to look only in src/pages and src/posts for markdown files.
This prevents all-pages from reading snippets and from crashing due to
missing meta data.

There is a first sketch for a multimethod that splits files and converts
them to html. This is neither used nor tested!
Use the new split-and-to-html in render-page.
Add the possibility to write pages in hiccup.
Write a function that returns all page and post files and refactor hiccup-files.

fix #2
Merge branch 'hiccup-pages' into snippets
Refactor md-files to use markdown-file?

fixes #3
Use the new file-ending-predicate function to refactor md-file? and clojure-file?.

fixes #3
Replace md/to-html in generate-feed with split-and-to-html.

fixes #5
Remove the debug print statement from snippet.

fixes #6
Merge branch 'snippets'
Merge branch 'custom-code'

Conflicts:
	src/ecstatic/io.clj
Render inside the ecstatic.render namespace.
Add `in` atom to hold in-dir; and add all-posts to the render
namespace for use in templates.
Merge branch 'master' into ecstatic-render

The render-template function is back in ecstatic.core and there is a
new namespace ecstatic.api for the public api. The old version had
a problem with cyclic dependencies.

To support the renamed dynamic vars met->metadata cont->content the
functions metadata and content had to be renamed to avoid name
clashes.

Conflicts:
	src/ecstatic/core.clj
Separate namespaces for rendering, code and api; some refactorings.

There is now a functioning namespace for the API (ecstatic.api), the
rendering of templates (ecstatic.render) and the loading of the custom code
(ecstatic.code). The latter ones refer to  ecstatic.api.

To fix cyclic dependencies but to be sure that the aforementioned namespaces
exist at the time the templates get rendered, the -main function now resides
in its own namespace ecstatic.main that depends on ecstatic.core and ecstatic.api.

The refactorings are:
 - change the name of the dynamic variable in to *in-dir* to be more descriptive
   and to match the naming conventions.
 - refactor the code to render hiccup data into its own function and use it throughout the
   program
Change the dynamic vars content and metadata to respect naming conventions.

content is now *content* and metadata *metadata*.