Add the default 'Implementation-*' headers to the manifest

Added headers are:
Implementation-Title:     ${project.name}
Implementation-Version:   ${project.version}
Implementation-Vendor-Id: ${project.groupId}
Implementation-Vendor:    ${project.organization.name}

Related to #878

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
Merge pull request #879 from fhuberts/implementationheaders

Add the default 'Implementation-*' headers to the manifest
Verify that test classes are public.

Test classes should be public in order to avoid problems with
reflection caused by the security manager. Public classes are always
accesible.
Don't verify the visibility of a method's declaring class.

I would not expect FrameworkMethod.validatePublicVoid(...) to test
visibility of the declaring class. Since the last commit the runner
itself verifies that a test class is public. Hence we can safely remove
this validation from FrameworkMethod.

This fixes #749 (JUnit cannot be build with JDK 8), too.
Build JUnit with JDK 8 on Travis.

We can now build JUnit with JDK 8, because #749 is fixed.
Merge pull request #866 from stefanbirkner/verify-public-test-class

Verify public test class