Removing internal from ProfiledSqlDbCommand

I added a license, support for nhibernate 3.3.3.4001 and removed the internal for the sqlcommand class. 

The reasoning behind it comes from setting a custom type from the SQLCommand properties for a custom type - this code would not compile since the command class is not visible.  

```
public void NullSafeSet(IDbCommand st, object value, int index, ISessionImplementor session)
            {
                var s = st as SqlCommand;

                if(s == null)
                {
                    var sz = st as StackExchange.Profiling.NHibernate.Infrastructure.ProfiledSqlDbCommand;
                    s = sz.SqlCommand;
                    if (s == null)
                    {
                        throw new NotImplementedException();
                    }
                }
                s.Parameters[index].SqlDbType = SqlDbType.Structured;
                s.Parameters[index].TypeName = "StringList";
                s.Parameters[index].Value = value;
            }

```