Work on branch select

Changes to be committed:
	modified:   src/main/java/nl/tudelft/ewi/devhub/server/web/resources/ProjectsResource.java
	modified:   src/main/resources/i18n/devhub_en.properties
	new file:   src/main/resources/static/octicons/LICENSE.txt
	new file:   src/main/resources/static/octicons/README.md
	new file:   src/main/resources/static/octicons/octicons-local.ttf
	new file:   src/main/resources/static/octicons/octicons.css
	new file:   src/main/resources/static/octicons/octicons.eot
	new file:   src/main/resources/static/octicons/octicons.less
	new file:   src/main/resources/static/octicons/octicons.svg
	new file:   src/main/resources/static/octicons/octicons.ttf
	new file:   src/main/resources/static/octicons/octicons.woff
	new file:   src/main/resources/static/octicons/sprockets-octicons.scss
	modified:   src/main/resources/templates/macros.ftl
	modified:   src/main/resources/templates/project-view.ftl
	modified:   src/test/java/nl/tudelft/ewi/devhub/webtests/FolderTest.java
	modified:   src/test/java/nl/tudelft/ewi/devhub/webtests/ProjectTest.java
	modified:   src/test/java/nl/tudelft/ewi/devhub/webtests/ProjectsTest.java
Reworked the AuthenticationBackend

Reworked the AuthenticationBackend. The check for users to be existent in
the Devhub database, shouldn't be in the LdapBackend. Now, this is moved
to a BackendImpl, which is supplied with a AuthenticationProvider, for
example the LdapAuthenticationProvider.

The AuthenticationProvider interface contains of three methods
(authenticate, fetch (User) and synchronize (User).

The LdapAuthenticationProvider is heavily based on the existing
LdapBackend, but also provides a caching mechanism for when there are
issues connecting the LDAP server. When connection fails, the backend
checks against a cached (salted) password stored in the database. This
might be useful in the labwork, when we want Devhub to be available even
if the LDAP server is down. The LDAP properties are moved to the config
file so that these attributes can easily be changed.

Furthermore in this commit is a BasicAuthenticationProvider. This one
doesn't use LDAP but rather checks passwords against the database (again,
salted). This might be useful when other universities want to get started
with Devhub without LDAP. There isn't any mechanism to add/register users
however.

Changes to be committed:
	modified:   src/main/java/nl/tudelft/ewi/devhub/server/Config.java
	modified:   src/main/java/nl/tudelft/ewi/devhub/server/DevhubModule.java
	modified:   src/main/java/nl/tudelft/ewi/devhub/server/backend/AuthenticationBackend.java
	new file:   src/main/java/nl/tudelft/ewi/devhub/server/backend/AuthenticationBackendImpl.java
	new file:   src/main/java/nl/tudelft/ewi/devhub/server/backend/AuthenticationProvider.java
	new file:   src/main/java/nl/tudelft/ewi/devhub/server/backend/BasicAuthenticationProvider.java
	new file:   src/main/java/nl/tudelft/ewi/devhub/server/backend/LdapAuthenticationProvider.java
	modified:   src/main/java/nl/tudelft/ewi/devhub/server/database/entities/User.java
	modified:   src/main/resources/changelog.xml
	modified:   src/main/resources/config.properties
Changed the way the paginator works

Changes to be committed:
	modified:   src/main/java/nl/tudelft/ewi/devhub/server/web/resources/ProjectsResource.java
	modified:   src/main/resources/templates/project-view.ftl
HighlightJS preset based on file ext
Switched to BCrypt for password hashing
Merge pull request #47 from JWGmeligMeyling/branch-select-2

Branch selection & pagination
Merge pull request #48 from JWGmeligMeyling/ldap-cache

Reworked the AuthenticationBackend
Merge pull request #50 from JWGmeligMeyling/highlight-file-ext

HighlightJS preset based on file ext