Make Repository generic.

Move some of the functionality from loopback-android to make it easy
to create custom VirtualObject/Repository implementations.

Move BeanUtil and BeanUtilTest.
Add StreamParam aggregating InputStream + metadata
Improve the error message in buildRequestParameter
Add @Transient annotation

Modify BeanUtil to skip properties annotated as @Transient.

Ignore properties on Object class to preven stack overflow
when getting properties with deepCopy = true.
Merge pull request #23 from strongloop/feature/improve-api

Improve api