Move data file into a separate directory and safely handle paths

It is highly recommended to use the os.path library instead of
hardcoding paths. This ensures cross-platform compatibility.

Also to keep files out of the main folder the currency data file
is now in a 'data' directory where future data files can be stored
if needed.
Show currencies on metadata page and improve readability

Added some comments and changed variable names to make the
currency extraction a little bit more readable.

Added currencies as environment variable to the rendering so that
the currency dropdown can show the currency names (with currency
code as the value).
Add static folder and bootstrap (version 3.1.1)

This allows the a simple and quick styling of the pages so it'll be
presentable. This commit does nothing more than create the static
folder and drop the most recent bootstrap version from
getbootstrap.com into /static/vendor/bootstrap/
Stylize the content with a very basic bootstrap look

Create a base.html file other template files can extend through a
title and content block. This avoids unnecessary repitition. The
base.html file loads all the important bootstrap css and js that
might get used.

All other templates changed so that they extend the base.html file
and then make use of styling elements of bootstrap instead of just
looking flat.
Restructure application into different modules

Routes.py has been renamed to run.py so to run the application
run:

    python run.py

Flask app creation and it's config have been moved to an app
packages which requires that the templates and static content
is moved as well. Config variables can now also be set via
environment variables. This is more in line with the "12 factor"
web app: http://12factor.net/

The csv_utils.py have been moved out of the root and into a utils
package as the csv module and other utility functions have been
moved out of run.py (routes.py) into their own utils modules.

This might not be the best way to structure the app, but this will
be better to maintain as time goes by.
Add some install, configuration and run information to the README

We need to document what we have.
Use os.path.splitext instead of rsplit to get file extensions/names

This is what os.path.splitext was designed for so we should use
the batteries inlcuded.
Remove redundant "if condition then true else false" block

Instead of writing:

    if something == 'word':
        variable = True
    else
        variable = False

it is more readable and not as redundant to just do:

    variable = (something == 'word')
Merge handle_csv into the upload csv view

It was weird to call a function from the view which returned a
rendered template with no indication that it should. Further look
at the handle_csv function which returned the template shows that
it only validates the csv and renders the templates (plural because
it also rendered the error templates). It is better to see from
the view itself all possible outputs instead of pushing them into
a different function.

This also fixes a bug in that the os.path.splitext has a leading
dot in the file extension so it would check for '.csv' not only
'csv' when the configuration uses 'csv' (which is better for
configuration).
Return the correct HTTP status code for errors

We return status code 400 (bad request) if the csv file doesn't
validate for some reason. This is the proper way to handle bad
requests.
Update /csv resource to only support POST requests

Since users always have to post the csv file it should not be
possible to interface with the /csv resoure via a GET.
Remove uploaded csv file if it didn't validate.

We don't want to store a lot of badly formed files. They won't be
used so they should be removed to make space for properly formed
files.
Redo the looks of the site so it has its own unique style

Branded with Open Knowledge visuals and improved user experience
by laying out the steps of the process for budget data package
creation.

Created three dummy pages with content that's missing:

* Standardized data page
* Specification page
* Tips and tricks page (howto)

Those three pages do not have any content at the moment as that
needs to be written.
Configure the app directly from the config file

Flask can configure itself directly from the config file instead
of importing everything from it and explicitly setting it to a
configuration variable with the same name.

So instead of:

    from app.config import UPLOADS
    app.config['UPLOADS'] = UPLOADS

we can do:

    app.config.from_object('app.config')
Merge pull request #1 from tryggvib/master

Changes from Tryggvi