Initializr UI update

* ignore IDEA files
* upgrade to Twitter Bootstrap 3.2.x (CSS, theme, font, glyphs)
* add specific CSS
* add favicon
* revisit main template and UI
* make each style a group of starters (regrouped by theme)

Note that those modifications breaks BC in the JSON endpoint
Initializr module

This commit creates a separate groovy module that defines the core
features of the initializr. The idea of such module is to allow other
users to create their own instance of the service without the need
of forking this repository.

The project configuration metadata has been revisited to offer better
flexibility (work in progress):

* Each element can have a description which can be used in the UI
  to provide some contextual information
* A dependency can be configured using a groupId and an artifactId
  with an optional version
* It is still possible to configure a dependency with a simple name
  in which case a regular 'spring-boot-starter-' is expected

The integration tests have been migrated so that they run as part
of the library project