Change some comments.
Change contract of `BeanBuilder.set(MetaProperty, Object)` to throw `UnsupportedOperationException` for non-buildable meta-properties

`MetaProperty.isBuildable` claims that `BeanBuilder.set(MetaProperty, Object)` throws an `UnsupportedOperationException` when a value of a non-buildable property is set on a builder. This commit documents that on the bean builder's method.
Rename `MetaProperty.declaringClass()` to `MetaProperty.declaringType()`

There is currently no other method which uses the word "Class" in its name; instead all use "Type". To increase consistency the method is renamed.
Change `MetaProperty.set(Object, Object)` to `MetaProperty.set(Object, P)`

`MetaProperty` is generic in `P`, "the type of the property content". I can see no reason why set should accept an object instead of a `P` as a value for the property.
Remove "unmodifiable" in the comment of 'MetaProperty.propertyGenericType()'
Change 'MetaProperty.set(Object, P)'  back to 'set(Object, Object)'

The decision to make 'set' not generic was a deliberate one. The reasoning is now documented in the method comment.
Sample beans

Demonstrate different styles of bean
Rename to annotations()

Methods return a stream at present, thus the plural name is correct
Add contributing legalese
Merge branch 'master' of https://github.com/jodastephen/property-alliance
Sign the CLA
Remove a question from 'MetaBean'

I asked whether 'MetaBean.metaProperty' should throw an NPE if the specified property name is null. The discussion is better continued in an issue.
Merge pull request #1 from CodeFX-org/master

Minor Changes to Comments and Contract
Merge branch 'master' into metaproperty_impl