1.0

/to @bajtos 
/cc @raymondfeng 

Please review the following.

https://github.com/strongloop/loopback-phase/blob/1.0/example/middleware.js => example for our middleware use case.

https://github.com/strongloop/loopback-phase/blob/1.0/test/phase.test.js => the phase API / test

https://github.com/strongloop/loopback-phase/blob/1.0/test/phase.test.js => the phaseSet API / test

Also take a look at the example in the README.md. Everything else is copied from loopback-boot.
> This code allows phaseList.remove({id: 'value' }). Is that intentional?

Should we throw unless it is an actual `Phase` object?