Updates to improve structure and display logic

Summary:

- Added a modman file
- Changed the directory structure
- Centralised the logic for checking whether or not the reCAPTCHA form should be shown on a page

Details:

    === Added two new functions to the Helper class ===

    The first function is to check whether or not the extension is
    "enabled". It does this by checking to ensure both the public and
    private keys have been entered into the system config. If they haven't,
    the extension is considered "disabled". The point of this function is to
    allow other extensions to see whether or not the extension is "enabled",
    and if so, include the form in their own pages (such as blog comments,
    for example).

    The second function is designed to be a check for whether or not the
    reCAPTCHA form should be displayed on a given page. It takes in the name
    of the page, and whether or not the setting for hiding the form for
    logged in users should be obeyed (or more correctly, whether or not the
    check should happen). The first parameter must correspond to the
    system.xml system config name for the page, otherwise the check will
    fail. The second parameter is for pages such as the customer
    registration form, where it doesn't make sense to check whether or not
    the user is logged in.

    As a result of these additions, all relevant templates and controllers
    have been modified to use the new logic.

    ==== Under no circumstances should the code simply crash ====

    Changed calls to the die() function to return(). The webpage
    shouldn't end simply because the API keys haven't been entered into the
    system configuration. This could happen for any number of reasons, and
    the website should continue to operate normally in this case.