Add 'testing' functionality to ScoobiApp trait.

Refactor some of the Testing tratis to mixin with the ScoobiApp trait.
In addition move some of these Testing traits into a new 'application'
package.
Add a "keepfiles" argument.

Add a "keepfiles" argument that controls whether the files in the
working direcotry and the TestFiles should be automatically deleted when
a job has finished. This is available during execution when either
extending ScoobiApp or HadoopSpecification.

The default value for "keepfiles" is false, i.e. files are deleted.
Set the min/max number of reducers (issue #85)

- Added setMinReducers and setMaxReducers in ScoobiConfiguration to
  control min/max number of reducers in all M/R jobs
Fail scoobi job when M/R job fails, and increase logging of tasks

- Added check if MapReduce job fails, and if so throw an exception
- Added more logging for completed tasks in a MapReduce job
  - If a task attempt fails or is killed, an 'info' log message is
    generated with a link to the task tracker.
  - If a task fails (usually 3 attempts), an 'error' log message is
    generated with a link to the task tracker.
Added type/schema checking to Sequence and Avro data sources

- Extended fromSequenceFile and fromAvroFile to optionally check expected and
  actual data types
- Added more Sequence/Avro acceptance tests
- Added getFileStatus method to Helper class. This resolves a Path and returns
  a Set of FileStatus objects for the Path.
- Added getSingleFilePerDir method to Helper class. Given a Path or Set of
  FileStatus objects, this method will only get one file per dir. Its useful for
  performing a rough validation of input files before a job starts.
- Refactored pathExists method in Helper class to use new getFileStatus method
- Added tests for Helper
Rename the 'args' method on 'ScoobiApp' to only contain user args

Fixes issue #109
Fixed issue with hidden files getting checked in sequence/avro data sources

- Added new optional PathFilter argument to Helper.getFileStatus and
  Helper.pathExists. Default behaviour is to ignore hidden files, ie.
  those that start with "." or "_".
- Added test case to verify the default filtering works.
re-enabling the MatrixMultiplicationSpec

It passes ok with the latest sbt version (0.12.0-RC4).

Fixes #102
Enable logs by default for a ScoobiApp

Fixes #111

also added () to the 'run' method in the examples and the guide
fixed the link for the latest api documentation on the site page
ScoobiApp.run should have parenthesis

Add parenthesis, to avoid errors about side-effecting nullary methods being discouraged
added a simple pom file for Sonar metrics
fixed the argument passing for Specifications

test-only *WordCountSpec* -- scoobi verbose.info

was not showing INFO logs appropriately (whereas verbose only works ok)
A DList can now be created with Text elements (or anything Writable)

Note that the io.seq package has been renamed "io.sequence" and "io.seq" now holds code for i/o of scala collections.
Fixes #99
Throwing a more descriptive error message when the reduce operation is called on an empty DList

Fixes #104
Remove unused code.
Don't mutate Configuration objects, clone them.

When creating new Configuration objects from an existing Configuration
object, be sure to use 'new' to ensure that a deep-copy occurs. If not,
depeding on the version of Hadoop, the new Configuration object will
simply mutate the old object.
Make changes to compile with CDH4.

- Change Hadoop dependencies:
  * "hadoop-client" % "2.0.0-mr1-cdh4.0.0"
  * "hadoop-core" % "2.0.0-mr1-cdh4.0.0"
- TaskAttemptContext - now an interface, not a class
- JobContext - now an interface, not a class
- filesStatus and globStatus throw an exception if path doesn't exist
- SequenceFile.Reader API change
- isDir deprecated in favor of isDirectory

Note that Avro I/O does not yet work.