..and define my own services/characteristics? How do I setup the BLE peripheral with my own Gatt profile?
The answer lies in the section on the product page which says,
Standalone operation - Texas Instruments (TI) CC2540 is a SoC (System-on-Chip) IC that can operate without any external microcontroller. You can develop your own firmware using IAR Embedded Workbench for 8051 Compiler , all I/O pins of CC2540 are accessible.
Firmware upgradable - develop your own or download a "pre-packaged" firmware and upload to BLE Mini via the USB connector, TI CC Debugger is not required.
While I have not had a chance to look what their "pre-packaged" firmware looks like, but I am sure that when they say claim that you can develop your own Firmware (I guess they are specifically referring to Firmware that resides in the flash of the microcontroller on the BLE module, which has to contain GATT configuration and other optional implementation depending upon what board supports)
Is it a protocol that is used everywhere or is it proprietary to the BLE module maker?
Firstly, GATT is a profile and not a protocol. While we can say so that GATT is used everywhere (with BLE for scope of this question), the ways to configure the GATT database and dumping that onto the module is left to module manufacturers. One of them prefers doing that by means of a xml (BlueGiga), while the other one I have used, prefer SmartBASIC language (Laird).