Annotates entities.

@param entityConfiguration
@returns {function(Function)}
@constructor
function Entity(entityConfiguration) {
    return function (constructor) {
        var entityMetadata = constructor;
        if (entityMetadata.entity) {
            throw "Cannot set @Table, it is already set to '" + JSON.stringify(entityMetadata.entity) + "'";
        }
        // FIXME: verify this works! (that it's not constructor.name)
        entityMetadata.name = constructor.prototype.name;
        if (!entityConfiguration) {
            entityConfiguration = true;
        }
        entityMetadata.entity = entityConfiguration;
    };
}