node: add express package

we need server side implementation for open graph
node: use Makefile to start http server

    $ make build

    $ make dev    # to launch brunch for client side development
    $ make run    # to launch express server
git: ignore server side built js
server: add basic app.ls

server side implementation. It reads the header User Agent then
dispatch to corresponding handler.

well, since we are still in developing, it always assume every
requests comes from FB crawler.
cleanup: move dir font to fonts
cleanup: move from images to img
npm: install ejs
server: use ejs to render index page

Brunch use jade to render page to index.html. Before server use
the html file as response, we use ejs to render it.

Therefore we could provide different result according to User Agent.
server: do not render _public directly

if we request http://DOMAIN/ directly, it founds there is index.html
and return it immediately, and then other middleware will not be
touched - we have no way to render ejs template.

provides asstes as static files and render html.
server: add very basic open graph implementation

it just returns hard-coded data for rendering
og: open graph add bills implementation

it tries to fetch data from API for /bills/<ID>
server: handle fb opengraph crawler
fix typo
server: render normal mode for browser/human
server: fix path

oooops, duplicate slash symbol breaks request.

ex: http://api.ly.g0v.tw/v0/collections//bills/1108L15866
it does not work.
server: opengraph handle exception

when parsing the json result, it might got damage data.
opengraph: add more description to bill
opengraph: handle - /sittings/
opengraphs: create options in function

the options will be used in http request, we should create new one
for each request.
opengraph: proper statement