Add exlcusion to httpcomponents dependency
Refactor SpringApplication Environment config hooks

Per discussion: fixes gh-467
Fix typo in ConfigFileAppListener#addProper(=>t)ySources
Add @IntegrationTest annotation for test classes

Allowing use of embededded container in @SpringApplicationConfiguration
tests, e.g.

```
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = Config.class)
@WebAppConfiguration
@IntegrationTest
public class SpringApplicationIntegrationTestTests {

	@Test
	public void nestedConfigClasses() {
		String body = new RestTemplate().getForObject("http://localhost:8080/",
				String.class);
		assertEquals("Hello World", body);
	}

	@Configuration
	@EnableWebMvc
	@RestController
	protected static class Config {

		@Bean
		public DispatcherServlet dispatcherServlet() {
			return new DispatcherServlet();
		}

		@Bean
		public EmbeddedServletContainerFactory embeddedServletContainer() {
			return new TomcatEmbeddedServletContainerFactory();
		}

		@RequestMapping("/")
		public String home() {
			return "Hello World";
		}

	}

}
```

Fixes gh-473
Convert all sample tests to @IntegrationTest where appropriate

Makes them a lot more readable IMO, and also enables @Autowiring
from the context into the test case (sweeet). I added @DirtiesContext
to all of them as well to be on the safe side, but possbly that can be
optimized in some way as well.
Add support for Apache HttpClient if available
Fix some broken tests in empty new environments
More defensive testing of tmpdir
Remove duplicate dependency declaration in sample

Fixes gh-476