Added config includes to solve #514 and #703

This is origonaly form this checkin.
https://github.com/xenji/jekyll/commit/29612017f6a84eb02714693738d5031209bfd87a

I have only tried to cherry pick it on top of the current source
tree
including the corresponding tests and fixtures.

You can now use a YAML list to add configuration files to be included
in the order of the list.

The syntax supports globs (to be used with `Dir[pattern]`), relative
paths to the config value of `source` and absolute paths.

Using this sample config:
```
additional_configs:
  - additional_configs/_config_a.yml
  - additional_configs/_config_b.yml
```
or the glob version:
```
additional_configs:
  - additional_configs/_config_*.yml
```
the new deep merge order is in both cases:
`Jekyll::DEFAULTS < _config < _config_a < _config_b`

I've added additional tests for three use cases:
* Having one inclusion
* Having a glob inclusion
* Having one inclusion with override in the main config

Conflicts:
	lib/jekyll/configuration.rb
	test/test_configuration.rb