Exporting (bullet) collision shapes
Finding the parameters necessary to generate such a shape should be possible with python.

From the wiki:


  The Shape setting determines the collision shape of the object. The
  following shapes are available:
  
  Primitive shapes - these are best in terms of memory/performance but don't necessarily reflect the actual shape of the object. They're
  calculated based on the object's bounding box. The center of gravity
  is always in the middle for now.
  
  
  Box: The size per axis is calculated from the bounding box
  Sphere: The radius is the largest axis of the bounding box
  Capsule: This points up the Z-Axis.
  Cylinder: This points up the Z-Axis. The height is taken from the z-axis, while the radius is the larger of the x/y-axes.
  Cone: This points up the Z-Axis. The height is taken from the z-axis, while the radius is the larger of the x/y-axes. 
  
  
  'Mesh based shapes' - these are calculated based on the geometry
  of the object so they are a better representation of the object. The
  center of gravity for these shapes is the object origin.
  
  
  Convex Hull: Convex approximation of the object, has good performance and stability.
  Mesh: Allows to simulate concave objects, but is rather slow and unstable.
  


To build these shapes using the UI:

Box:


Select the target object and press CtrlShiftAltC > Origin to goemetry, and then press F6 and select bounds center.
With the target object selected, press ShiftS> Cursor to selected to move the cursor to the objects origin.
Add a cube to be the bounding box. It will automatically be centered at the 3D cursor, which is snapped to the target object's origin point.
Copy the Dimension and Rotation values from the target object to the bounding cube. These values are located on the Properties region (N in the 3D view):



You can quickly copy and paste values by hovering over the number field and pressing CtrlC/CtrlV accordingly.

Since this process of copying and pasting the values of each channel can be a bit tedious, you can use a quick bit of python to do this for you:

import bpy

active = bpy.context.active_object
selected = bpy.context.selected_objects

for obj in selected:
    obj.dimensions = active.dimensions


This copies the dimensions from the active object to the selected objects.
Parent the bounding box to the target object so the relative location, rotation, and scale is kept the same. You can also set the bounding cube's Draw type to Wire in Properties > Object > Display > Maximum Draw Type.


Sphere


Do steps 1 to 3  from the Box instructions, adding a sphere instead of a cube. 
Copy only the largest dimension value from the target into all three dimensions of the sphere.
Do step 3 of the instructions for Box (Parent the bounding mesh and set the draw type to wire)




Cylinder


Do steps 1 to 3  from the Box instructions, adding a cylinder instead of a cube.
Copy the largest dimension value of the target excluding the Z axis, so the value of either X or Y into both the X and Y dimensions of the Cylinder.
Copy the Z dimension value of the target to the Cylinder.
Do step 3 of the instructions for Box (Parent the bounding mesh and set the draw type to wire).


Cone


Do the same as for Sphere.


Convex Hull

This is more complex. you could try to generate your own using python, or you could try one of these existing options:


The Convex Hull operator built into blender. 


Duplicate target object (ShiftD)
With the duplicate selected, enter edit mode (Tab) and select all (A)
Run the convex hull operator (Space> Search > Convex Hull)

This Convex Hull generator written in python.




Existing addons

I also found a couple existing scripts/addons from a quick google search:


One for exporting to YAML
Niftools Wiki - Blender 2.49 nif import/export - Collisions
Niftools - Blender 2.6x nif export collision code