Merge branch 'insert-composer' into submit_event
Add Symfony Form and Validation to Slim

In order to be able to use the Symfony Form and validation
component we need to have composer pull in the necessary
dependencies and build a Middleware for Slim so that
the scaffolding for both components is done automatically
and included in the Slim Framework Container.
Commit all new dependencies

Because Joindin does not retrieve the composer dependencies
upon deployment we have to commit all libraries that
are included using composer.
Add support to return timezone and CFP fields

Events did not support returning the timezone and Call for Papers
fields; these fields are referenced after an event is created.
Return headers after a POST call

When we submit an event we want to redirect to the new
event page. This is only possible if we have access to the
Location header (that contains the new event's API url).

This commit adds support for the apiPost method to return
header information, which in turn can be consumed by the
caller to retrieve said location header from.
Submit new events to the API

In this commit I add support for submitting a new event to the API
using a data array that contains all fields as supported by the
POST method for the `/v2.1/events` endpoint (see the API documentation
for more information).

In addition a field timezone is supported that takes a complete
timezone (such as Europe/Amsterdam) and populates the tz_continent
and tz_place fields.
Add form to submit new Events

In order to be able to submit events to the API we need a
form to take the event properties, validate those, send them
to the API and redirect to the details page for that event
if this all succeeds.

In this commit I have

- added the form definition and template
- changed the event controller to construct the form instance
- changed the event controller to validate the form
- changed the event controller to save the event to the API and
- redirect if the event was submitted correctly to its detail page

Some styling was added so that the event form looks passable; it
is recommended to review the designs at a later stage.
Support events that are held for moderation

Whenever an event is held for moderation we do not have
an event instance but the submission is still considered
a success. In this case the user should be redirected to
the list page.
Merge branch 'master' of github.com:joindin/joindin-web2 into submit_event
Replace ternaries with a looping function
Merge branch 'master' of github.com:joindin/joindin-web2 into submit_event

Conflicts:
	app/src/Event/EventApi.php
	app/src/Event/EventController.php
	app/src/Event/EventEntity.php
	web/css/main.css
Revert erroneous overwriting of the Application Controller
Restyled event form and added required login

In this commit I have done three things:

1. Restyled the form after merging #118
2. Hidden event submission behind a login if the user is
   not logged in.
3. Added an event submission button on the event page
Add submission tips and terms
Fix Coding Standards violations
Add client secret requirement to AuthApi.
Use client secret from config to log in.
Add default secret into config.php.dist.
Fix typo in template, update missed CSS from rating change

For JOINDIN-460
Enable Twig Cache

Because Twig becomes increasingly slower when you load a large object, and
a form is a large object, have I enabled the cache for all environments except
development.

The default caching folder is set to `/tmp/joindin-twig-cache/[environment]`
but can be changed in the configuration file. The cache may even be turned off
by providing false.

For the development environment the cache setting is always set to false; if
you want to test with cache enabled you need to edit the index.php and comment
the disabling of the cache.