Merge pull request #4 from reefangel/dev

Merge upstream changes
Merge pull request #5 from reefangel/dev

Merged upstream changes
Added support for 16 channel PCA9685 expansion
Merge pull request #8 from reefangel/dev

Dev
Merge pull request #9 from reefangel/dev

merge with upstream
Fixes for DisplayLEDPWM, MH, and WATERLEVEL
Better fix for multiwaterlevel in globals
Waterlevel and Multiwaterlevel enhancements
Removed luminance methods.  Float is too big.
Removed luminance methods.  Float is too big.
Merge branch 'dev' of https://github.com/brunnels/Libraries.git into dev
Removed luminance methods
Accidentally checked in ra features
Merge branch 'dev' of git://github.com/reefangel/Libraries into reefangel-dev

Conflicts:
	Globals/Globals.h
	RA_Wifi/RA_Wifi.cpp
checked in features by accident again
Merge branch 'dev' of https://github.com/brunnels/Libraries into dev
checked in features on accident again
Cleaned up unused definitions
Adding PWMSmoothRamp and ElseMode

Adding profiles for LED dimming and DC Pump profiles
Adding Threshold concept to the DCPump class and associated files

Added a PumpThreshold to Globals that can be used anywhere to limit the
value that your pump can be set to.  It can wrap a Wave profile to limit
the set value to values which are 0 or threshold to Max and can be used
in the .ino file or in calls to DCPump class.

It's intended to let users include a lower limit of 0 into the wave
profiles like NutrientTransport, for instance, and be confident that
their Tunze or Jebao pump, for instance, will not be driven at 10% of
it's max, which is an unsupported speed, by wrapping the call to
Nutrient Transport with a PumpThreshold(WaveProfile,Threshold) call
which would round down or up to avoid the "danger" zone.  All of the
function calls in ReefAngel.cpp that called wave profiles were wrapped
in this PumpThreshold function.