add foreach and variants to Series

- general foreach
- foreach for dense series, with unboxed access to values
- foreach, just the keys
- foreach, just the cells
- foreach for values of dense series, with unboxed access to values
rename Series .values .denseValues to .cells .values

- aiming for more consistent naming with other methods
- rewrite to more low-level implementations
mark Series .size .keyAt .valueAt with @inline
renaming for Series .cellAt and valueAt
Merge branch 'master' into topic/series-foreach

Fix tests due to change of
 - Series.values -> Series.cells
 - Series.denseValues -> Series.values

Conflicts:
	framian/src/main/scala/framian/Series.scala
Merge branch 'master' into topic/series-foreach

* master:
  Improve coverage for Series.zipMap
  Add tests for Series.closestKeyTo
  Remove unneeded s
  Add test for Series.++
  attempt at stabilizing the Travis-CI builds

Conflicts:
	framian/src/test/scala/framian/SeriesSpec.scala
Merge pull request #1 from mrvisser/topic/series-foreach

resolve conflicts with master
rename filterValues to filterCells
optimize the access patterns of filterKeys and filterCells
add Series.filterValues method

complements filterKeys and filterCells
Test to ensure Index sort remains stable
refactor SeriesBuilder

factor out an abstract class so that we can build series with either ordered or unordered indexes
further expand series builder to build dense series

- add super type for sparse and dense builder
- generalize return types of builder factory methods
- make use of dense builder for filterValues
add isOrdered method to Index

- set visibility to package protect as this is really for internal use
- this should enable optimizations elsewhere to preserve an ordered index during transformations on Series
turn Ordered and Unordered indexes into regular classes

this fixes the visibility widening that was occurring on keys and indices, which were declared to be package private in the super type
Use smart SeriesBuilders, which preserve index orderedness

pick the series builder of the output series based on the index orderedness of the input series
tidy up filter methods on series

- add filterEntries
- rename to filterBy(Keys | Cells | Values)
- add scaladocs
Merge pull request #2 from mrvisser/topic/series-foreach

Test to ensure Index sort remains stable
simplify series building by using `ColumnBuilder`

- collapse the abstract classes for series building down to one
- leverage `ColumnBuilder` to efficiently build columns
- requires a few more implicit `ClassTag`s :(
- add override for `sizeHint` method on `ColumnBuilder`
optimization for IndexBuilder

keep track of the orderedness of the keys that have been added, and return an `OrderedIndex` when result() is called and isOrdered is still true