Add the first parts of the installer bundle.
Check if Fork has been installed before installing again.
Redirect noStep to the first install step.
Add first step functionality and base layout.
Implement checking server requirements in the installer.
Avoid unneeded complexity.
Cleanup checking php extensions
Start creating the form for step 2
Make the controller cleaner.

Let's go for tiny controllers! Fetching data from an object can be done
in the view.
Merge branch 'master' into feature-installer-bundle
Make functions usable without using the passes function.

This way, we can just run $checker->hasErrors() without the need to
first check $checker->passes().
Uniform indentation.
Prepare config for the Symfony2 Form component.

Some settings needed to be set to be able to use the forms component. I
also reordered the settings to mirror the Symfony Full stack framework.
Add form with all needed fields for language settings.
Add assetic to our Symfony instance.
Rewrite step2 install JavaScript with assetic.

All id's have been rewritten to the Symfony versions, JavaScript uses
assetic and has been cleaned up a little.
Add a submit button.
Save the data from step 2 in the session.
Add the Form on the thirth step.

Note: it uses a kinda strange hack to make sure the required modules are
checked and disabled. I couldn't find a cleaner way to achieve this
result.
Cleanup.