WIP: blah
add reducers that generalize first and last

- add FirstN and LastN
- expose the new reducer classes in the package object
- expand tests for First(N)/Last(N)
remove macro paradise compiler plugin
remove unneeded dependencies
cull unneeded code in sbt plugins
update sbt version
bump version numbers for dependencies

fix use of Discipline in tests
eliminate warnings from updated ScalaCheck
turn on feature warnings and eliminate the warnings

- turn on implicit conversions where appropriate
- eliminate reflective call
- remove use of postfix ops
scaladoc for Reducer trait
Change nomenclature from Missing to NonValue

- supertype of NA and NM changes from `Missing` to `NonValue`
- Cell method `isMissing` becomes `isValue`
- Column methods `exists`, `missing`, and `value`, become `isValueAt`, `nonValueAt`, and `valueAt`, respectively.
- fix all call sites
- fix up related docs and comments
remove abstract Out type from Reducer trait

following discussion https://github.com/pellucidanalytics/pframe/pull/4#discussion_r12907357, @tixxit suggested simply removing the abstract type from the Reducer trait as it is unneeded.
get specs2 to generate junitxml and html reports
propagate NM in simple reducers

after discussion with @tixxit, `NM` should have similar semantics to `NaN` in floating point arithmetic and so should propagate similarly.
propagate NM in Mean reducer

- the Mean reducer returns NM if it encounters an NM
- fix tests accordingly
Merge remote-tracking branch 'dwhjames/topic/build-file'
Merge remote-tracking branch 'dwhjames/topic/NotAValue'

Conflicts:
	modules/pframe/src/main/scala/pellucid/pframe/reduce/First.scala
Merge remote-tracking branch 'dwhjames/topic/reducer-output'

Conflicts:
	modules/pframe/src/main/scala/pellucid/pframe/reduce/First.scala
Merge branch 'master' into topic/docs-and-comments

Conflicts:
	modules/pframe/src/main/scala/pellucid/pframe/reduce/Reducer.scala
Merge branch 'master' into topic/simplereducer-NM

Conflicts:
	modules/pframe/src/main/scala/pellucid/pframe/reduce/Mean.scala
	modules/pframe/src/main/scala/pellucid/pframe/reduce/SimpleReducer.scala